[C++] Fstream do odczytu i zapisu
Ostatnio zmodyfikowano 2016-05-24 23:59
ScuroGuardiano Temat założony przez niniejszego użytkownika |
[C++] Fstream do odczytu i zapisu » 2016-05-24 14:38:10 Witam Napisałem klasę, która używa fstreamów do odczytu i zapisu. Problem jest taki, że jak odczytam dane z pliku, to zapisywanie do niego nie działa. Z racji tego, że dopiero się uczę, chciałem się dowiedzieć co jest powodem tego i jak mogę to rozwiązać Uproszczony kod: #include <iostream> #include <fstream> #include <string>
using namespace std;
class CosSieTu { fstream plik1; fstream plik2; fstream plik3; public: bool OpenTheFiles() { plik1.open( "Plik1.txt", ios::out | ios::app | ios::in ); plik2.open( "Plik2.txt", ios::out | ios::app | ios::in ); plik3.open( "Plik3.txt", ios::out | ios::app | ios::in ); if( plik1.is_open() && plik2.is_open() && plik3.is_open() ) return true; else return false; } void CloseTheFiles() { plik1.close(); plik2.close(); plik3.close(); } void ZapiszCos() { plik1 << "Jestem" << endl; plik1 << "Scuro" << endl; plik1 << "Guardiano!" << endl; plik2 << "Jestem" << endl; plik2 << "Scuro" << endl; plik2 << "Guardiano!" << endl; plik3 << "Jestem" << endl; plik3 << "Scuro" << endl; plik3 << "Guardiano!" << endl; } void Odczytaj() { string bufor; while( !plik1.eof() ) { getline( plik1, bufor ); cout << bufor << endl; } } };
int main() { CosSieTu obijekt; obijekt.OpenTheFiles(); obijekt.Odczytaj(); obijekt.ZapiszCos(); obijekt.CloseTheFiles(); cin.get(); return 0; } |
|
carlosmay |
» 2016-05-24 14:46:09 Użyj metody clear() i ew ustaw wskaźnik zapisu na koniec pliku.
|
|
ScuroGuardiano Temat założony przez niniejszego użytkownika |
» 2016-05-24 23:59:49 Działa, dzięki :D |
|
« 1 » |