[c++] Ponowne nadpisywanie pliku
Ostatnio zmodyfikowano 2014-01-31 18:09
Winner_Of_Death Temat założony przez niniejszego użytkownika |
[c++] Ponowne nadpisywanie pliku » 2014-01-30 21:23:49 Witam. Narazie piszę ten program w celu douczenia się C++, ale już na początku mam problem, czyli: Program nie może ponownie nadpisać pliku, a oto część kodu: std::fstream zapis; zapis.open( "holey.txt" );
if( zapis.good() ) { std::string wiersz; for( bool bWczytano = std::getline( zapis, wiersz ); bWczytano; bWczytano = std::getline( zapis, wiersz ) ) std::cout << "To jest " << wiersz << "\n" << std::endl; zapis.close(); } else { std::fstream zapis( "holey.txt", std::ios::out ); std::string napis; std::cout << "Wpisz imie" << std::endl; getline( std::cin, napis ); zapis.write( & napis[ 0 ], napis.length() ); zapis.close(); }
std::cout << "Chcesz zmienic jego imie?" << std::endl;
std::string tekst; std::cin >> tekst; if( tekst == "tak" ) { zapis.open( "holey.txt" ); if( zapis.good() ) { std::fstream zapis( "holey.txt", std::ios::out ); std::string pismo; std::cout << "Wpisz imie" << std::endl; std::getline( std::cin, pismo ); zapis.write( & pismo[ 0 ], pismo.length() ); zapis.close(); } else { std::cout << "Nie udalo sie wczytac imienia, sory" << std::endl; } }
std::cout << "koniec programu" << std::endl; return 0; } |
|
SeaMonster131 |
» 2014-01-30 22:01:39 Spróbuj wyczyścić strumień przed getline(). |
|
Winner_Of_Death Temat założony przez niniejszego użytkownika |
» 2014-01-31 18:09:51 Dzięki, zadziałało. Nie spodziewałbym się tak banalnego rozwiązania. :D |
|
« 1 » |