Problem z pracą z plikiem.txt
Ostatnio zmodyfikowano 2008-08-10 18:45
Damien Temat założony przez niniejszego użytkownika |
Problem z pracą z plikiem.txt » 2008-08-09 22:12:00 Witam wszystkich. Mam dość dziwny problem i proszę o poradę. Z góry piszę, że jestem początkujący :) Aby go zobrazować napisałem prosty program: #include <iostream> #include <fstream> using namespace std; int main() { fstream plik; string a; plik.open( "dane.txt", ios::in | ios::out ); cout << "Napisz tekst: "; getline( cin, a ); plik << a; return( 0 ); } Za każdym razem jak na początku dam komendy żeby odczytać dane z pliku to nie mogę nic na nim zapisać. Gdybym usunął tę część: getline( plik, a ); cout << "Poprzednio napisany tekst: " << a << endl;
normalnie dałoby się zapisać dane na pliku. Ale ona musi być na początku żeby wczytać ostatnio zapisane dane, z możliwością dopisania nowych a takiej możliwości nie mam. Mam nadzieję, że zrozumiecie o co mi chodzi. Pozdro :) |
|
DejaVu |
» 2008-08-10 14:03:21 |
|
Damien Temat założony przez niniejszego użytkownika |
» 2008-08-10 18:09:45 Próbowałem już z tym. To kod: #include <iostream> #include <fstream> using namespace std; int main() { string a; fstream plik; plik.open( "dane.txt", ios::in | ios::out ); getline( plik, a ); cout << "Poprzednio napisany tekst: " << a << endl; cout << "Napisz tekst: "; getline( cin, a ); plik.seekp( 0, std::ios_base::end ); plik << a; return( 0 ); } W przypadku tego kody nie mogę zapisać danych w pliku. Mogę je wpisać za pomocą notatnika i program odczyta te dane, ale za pomocą tego programu nie zapisuje mi nic. Ale kiedy np. otworze plik w notatniku i wcisnę enter czyli przejdę do nowego wiersza to cały program działa poprawnie. :( sory ale nie mogę wpaść jak temu zaradzić o.O |
|
DejaVu |
» 2008-08-10 18:24:59 To dopisuje do pliku nowe dane. #include <iostream> #include <fstream> using namespace std; int main() { string a; fstream plik; plik.open( "dane.txt", ios::out | ios::app ); if( plik.good() ) { cout << "Napisz tekst: "; getline( cin, a ); plik.seekp( 0, std::ios_base::end ); plik << a << endl; plik.close(); } else cout << "Nie udalo sie utworzyc pliku" << endl; return( 0 ); }
|
|
Damien Temat założony przez niniejszego użytkownika |
» 2008-08-10 18:45:45 Ok, dziękuję za pomoc :) |
|
« 1 » |