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

Strumień wejścia, wczytanie kilku linijek tekstu

Ostatnio zmodyfikowano 2011-09-19 15:31
Autor Wiadomość
kamillo121
Temat założony przez niniejszego użytkownika
Strumień wejścia, wczytanie kilku linijek tekstu
» 2011-09-18 19:16:31
Witam tak jak w temacie mam problem z wczytaniem kilku linijek tekstu ze standardowego strumienia wejścia. Otóż klient odpala program, wpisuje tekst
"to
jest
tekst podzielony
enterami wpisany
na raz"
No i ja potrzebuję ten tekst zassać cały, program jest w konsoli.
Tak dokładniej to wczytać jeszcze wczytam ale wtedy jest problem z zakończeniem wczytania bo nie mam o co oprzeć algorytmu. Jak robię z getline w pętli to wczyta wszystkie linijki ale po wczytaniu dalej będzie czyhać na tekst. Pomoże mi ktoś ?
Można się jakoś dostać do buffera, który trzyma ten cały tekst(wszystkie linijki)?
P-41142
pekfos
» 2011-09-18 19:21:54
metoda rdbuf() ?
C/C++
cout << ifs.rdbuf(); //sprawdz czy dziala
P-41143
kamillo121
Temat założony przez niniejszego użytkownika
» 2011-09-18 19:31:25
Próbowałem z cin ale nie wyjdzie a po drugie to się aplikacja sypie jak jest kilka linijek.
P-41145
pekfos
» 2011-09-18 19:51:21
to może getline
C/C++
getline( cin, str );

albo przez istream_iterator
P-41148
kamillo121
Temat założony przez niniejszego użytkownika
» 2011-09-18 20:11:03
Tak wiem, i jednym i drugim próbowałem i da się, program się nie wyspie przy jednym jak i przy drugim, tylko problem jest w tym, że nie wiem o co oprzeć warunek by po wczytaniu wszystkiego skończył czytać. Iteratorem próbowałem nie da rady*, zawsze czyha na kolejną porcję, to samo jest z getline.



*nie da rady czyt. mi nie wychodzi  
P-41149
malan
» 2011-09-19 11:08:11
Niech pusta linijka oznacza koniec wczytywania.
P-41158
pekfos
» 2011-09-19 15:31:02
*nie da rady czyt. mi nie wychodzi 
a jak używałeś iteratora? back_inserterem do vectora kopiowałeś przez copy() od istream_iterator<string>(cin) do istream_iterator<string>() ?
P-41171
« 1 »
  Strona 1 z 1