Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] Ponowne nadpisywanie pliku

Ostatnio zmodyfikowano 2014-01-31 18:09
Autor Wiadomość
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:

C/C++
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 ); //tutaj program nie wczytuje danych, nie wiem jak to naprawić
        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;
}
P-103644
SeaMonster131
» 2014-01-30 22:01:39
Spróbuj wyczyścić strumień przed getline().
P-103649
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
P-103716
« 1 »
  Strona 1 z 1