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

Problem z funkcją getline

Ostatnio zmodyfikowano 2014-10-01 20:53
Autor Wiadomość
Qazzy
Temat założony przez niniejszego użytkownika
Problem z funkcją getline
» 2014-10-01 20:01:03
Witam,
zrobiłem coś typu terminarza, do którego dodaje się określone zajęcia. Tutaj część kodu odpowiedzialna za odczyt:

C/C++
fstream plik;
plik.open( "a.txt", ios::in );
string dane;
getline( plik, dane );

Po wpisaniu jednej wartości wszystko działa ok, ale gdy są 2 zadania to wczytuje tylko tą pierwszą. Tutaj moje pytanie, czy istnieje możliwość, aby funkcja getline wczytywała wszystkie wyrazy znajdujące się w pliku a.txt? Wklejam także kod odpowiedzialny za wpis do pliku.

C/C++
string a;
fstream plik;
plik.open( "a.txt", ios::out | ios::app );
cin >> a;
plik << a << endl;
plik.close();
   
P-117829
Jacob99
» 2014-10-01 20:04:38
std::getline przyjmuje trzy argumenty. Ostatnim jest znak, który kończy wczytywanie. Domyślnie jest on ustawiony na '\n', czyli koniec linii, ale można to zmienić.
P-117830
Mateus.
» 2014-10-01 20:47:55
Można, też zostawić domniemany argument, ale użyć pętli.
P-117834
Qazzy
Temat założony przez niniejszego użytkownika
» 2014-10-01 20:53:17
Pomożesz mi? Ja nie mam zbytnio pomysłu jak to zrobić.
EDIT: Już mam :)
Wystarczyło zrobić coś takiego :
C/C++
cout << "Poniedzialek: " << endl;
while( getline( plik, dane ) )
{
   
    cout << dane << endl;
}
P-117835
« 1 »
  Strona 1 z 1