Operacje na plikach.
Ostatnio zmodyfikowano 2009-09-09 20:44
steckel Temat założony przez niniejszego użytkownika |
Operacje na plikach. » 2009-09-09 20:25:02 Mam problem z zapisem danych do pliku. Program nic nie zapisuje do pliku. Kod: #include <iostream> #include <fstream> #include <conio.h> #include <string>
using namespace std;
fstream file; string text; string pathOfFile; string nick;
void GetWords() { cout << "Wprowadz nick: "; cin >> nick; cout << "Wprowadz temat: "; cin >> pathOfFile; }
void LoadFile() { file.open( pathOfFile.c_str(), ios::in ); if( !file.good() ) return; text = ""; while( !file.eof() ) { string line; getline( file, line ); text += line + '\n'; } system( "cls" ); cout << text << endl; file.close(); }
void SaveFile() { file.open( pathOfFile.c_str(), ios::out ); for( int index = 0; index < text.size(); index++ ) { file << text[ index ]; } file.close(); }
void Writing() { while( true ) { string say; cout << "[" + nick + "]"; cin >> say; if( say == "#exit" ) { SaveFile(); return; } string message; message = "[" + nick + "]" + say + "\n"; text += message; SaveFile(); LoadFile(); } }
int main() { GetWords(); LoadFile(); Writing(); }
|
|
DejaVu |
» 2009-09-09 20:31:53 void SaveFile() { fstream pliczek; pliczek.open( pathOfFile.c_str(), ios::out ); pliczek << text.c_str(); pliczek.close(); } Jeśli chce się używać tego samego fstream'a do odczytu i zapisu trzeba wyczyścić flagi stanu o ile pamiętam. Nie pamiętam jednak jaką metodę należy wywołać przed ponownym otwarciem pliku w oparciu o tą samą zmienną. Może jest to clear(). |
|
steckel Temat założony przez niniejszego użytkownika |
» 2009-09-09 20:47:21 Dzięki :D |
|
manfred |
» 2009-09-09 20:44:46 Wyczyść flagi błędu przed ponownym otwarciem: file.clear(); |
|
« 1 » |