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

[C++] Fstream do odczytu i zapisu

Ostatnio zmodyfikowano 2016-05-24 23:59
Autor Wiadomość
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:
C/C++
#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;
}
P-148544
carlosmay
» 2016-05-24 14:46:09
Użyj metody clear() i ew ustaw wskaźnik zapisu na koniec pliku.
P-148545
ScuroGuardiano
Temat założony przez niniejszego użytkownika
» 2016-05-24 23:59:49
Działa, dzięki :D
P-148562
« 1 »
  Strona 1 z 1