Zapisywanie do pliku przy pomocy operatora <<
Ostatnio zmodyfikowano 2014-08-26 16:34
jizzle Temat założony przez niniejszego użytkownika |
Zapisywanie do pliku przy pomocy operatora << » 2014-08-26 09:35:45 ifstream file; file.open( "data//data.txt", ios::out ); string a = "costam"; file << a;
Po wielu nieudanych próbach, żywcem przepisałem kod z kursu, natomiast kompilator wywala mi błąd: error: no match for 'operator<<' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'std::string {aka std::basic_string<char>}')| |
|
Jacob99 |
» 2014-08-26 09:45:08 slasha nie pisze się podwójnie w nazwie pliku. Podwójnie trzeba zapisać tylko backslasha, bo jest on znakiem specjalnym. I spróbuj zapisać tak: file << a.c_str(); I podaj dalszą część logu, bo gdy wywala tai błąd to dalej powinno wypisać coś takiego: note: candidates are: ...
np. note: candidates are: std::ifstream::operator<< (const std::basic_string){aka std::basic_ifstream::operator<<(conststd::basic_string)} |
|
pekfos |
» 2014-08-26 10:00:19 Podaj cały kod. |
|
jizzle Temat założony przez niniejszego użytkownika |
» 2014-08-26 10:08:12 '/' to backslash, .c_str() już próbowałem, a dalsza część logu jest hiper długa, ale wygląda tak: note: candidates are: c:\program files (x86)\codeblocks\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\basic_string.h|2753|note: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) c:\program files (x86)\codeblocks\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\basic_string.h|2753|note: template argument deduction/substitution failed: main.cpp|12|note: 'std::ifstream {aka std::basic_ifstream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>' [...]
dalej ten sam błąd dla różnych linii pliku nagłówkowego basic_string.h @pefkos #include <iostream> #include <cstdlib> #include <string> #include <fstream>
using namespace std;
void nadpisz() { ifstream file; file.open( "data//data.txt", ios::out ); string a = "1 "; file << a; a = "2"; file << a; file.close(); }
int main() { nadpisz(); return 0; }
|
|
Monika90 |
» 2014-08-26 10:10:14 Nie mozna zapisywać niczego do ifstream, bo ifstream służy do czytania z pliku, użyj ofstream. |
|
jizzle Temat założony przez niniejszego użytkownika |
» 2014-08-26 10:15:33 |
|
Jacob99 |
» 2014-08-26 16:34:46 |
|
« 1 » |