Thread View: pl.comp.lang.c
9 messages
9 total messages
Started by Borneq
Tue, 03 Jul 2018 17:17
Problem z std::istream
Author: Borneq
Date: Tue, 03 Jul 2018 17:17
Date: Tue, 03 Jul 2018 17:17
6 lines
1182 bytes
1182 bytes
Jeśli przeczytam ze strumienia do końca, nie daje się już cofnąć za pomocą seekg i przeczytać. Trzeba zamykać strumień i tworzyć go na nowo, to nie tylko czasochłonne, ale muszę znać ścieżkę do pliku, nie można po prostu działać z procedurą, która ma ogólny strumień jako parametr. Może jest jakiś inny strumień dostępny w c++ niż std::istream?
Re: Problem z std::istream
Author: bartekltg
Date: Wed, 04 Jul 2018 12:50
Date: Wed, 04 Jul 2018 12:50
18 lines
1495 bytes
1495 bytes
On 03.07.2018 19:17, Borneq wrote: > Jeśli przeczytam ze strumienia do końca, nie daje się już cofnąć za > pomocą seekg i przeczytać. > Trzeba zamykać strumień i tworzyć go na nowo, to nie tylko czasochłonne, > ale muszę znać ścieżkę do pliku, nie można po prostu działać z > procedurą, która ma ogólny strumień jako parametr. A z czego czytasz? Jak chcesz się cofnać np gdy twoim strumieniem jest cin?! > Może jest jakiś inny strumień dostępny w c++ niż std::istream? Czy to pytanie sugeruje, że nie otworyułęś http://www.cplusplus.com ani https://en.cppreference.com pzdrt bartekltg
Re: Problem z std::istream
Author: Bartłomiej Golenko
Date: Wed, 04 Jul 2018 13:45
Date: Wed, 04 Jul 2018 13:45
11 lines
1402 bytes
1402 bytes
Borneq <borneq@antyspam.hidden.pl> wrote: > Jeśli przeczytam ze strumienia do końca, nie daje się już cofnąć za > pomocą seekg i przeczytać. > Trzeba zamykać strumień i tworzyć go na nowo, to nie tylko czasochłonne, > ale muszę znać ścieżkę do pliku, nie można po prostu działać z > procedurą, która ma ogólny strumień jako parametr. > Może jest jakiś inny strumień dostępny w c++ niż std::istream? std::ifstream B.
Re: Problem z std::istream
Author: Borneq
Date: Fri, 06 Jul 2018 14:28
Date: Fri, 06 Jul 2018 14:28
8 lines
1279 bytes
1279 bytes
W dniu 04.07.2018 o 15:45, Bartłomiej Golenko pisze: > std::ifstream Tak, ifstream tworzę a istream używam jako klasę bazową, bardziej ogólną. Ale ten problem występował nie jak przeczytałem wszystkie do końca, tylko "wyszedłem poza koniec" czyli zażądałem przeczytania większej ilości niż ma strumień. Gdy się pilnuję, to teraz nie ma tego błędu.
Re: Problem z std::istream
Author: Bartłomiej Golenko
Date: Fri, 06 Jul 2018 16:01
Date: Fri, 06 Jul 2018 16:01
20 lines
1584 bytes
1584 bytes
Borneq <borneq@antyspam.hidden.pl> wrote: > W dniu 04.07.2018 o 15:45, Bartłomiej Golenko pisze: >> std::ifstream > > Tak, ifstream tworzę a istream używam jako klasę bazową, bardziej > ogólną. Ale ten problem występował nie jak przeczytałem wszystkie do > końca, tylko "wyszedłem poza koniec" czyli zażądałem przeczytania > większej ilości niż ma strumień. Gdy się pilnuję, to teraz nie ma tego > błędu. http://www.cplusplus.com/reference/istream/istream/seekg/ C++98: If the eofbit flag is set before the call, the function fails (sets failbit and returns). C++11: The function clears the eofbit flag, if set before the call. B.
Re: Problem z std::istream
Author: Borneq
Date: Fri, 06 Jul 2018 19:42
Date: Fri, 06 Jul 2018 19:42
10 lines
1329 bytes
1329 bytes
W dniu 06.07.2018 o 18:01, Bartłomiej Golenko pisze: > C++98: > If the eofbit flag is set before the call, the function fails (sets > failbit and returns). > > C++11: > The function clears the eofbit flag, if set before the call. Czyli problem jest w C++98 a nie w C++11? Ja używałem to w Visualu 2015, czy tam domyślnie ustawione jest C++14?
Re: Problem z std::istream
Author: bartekltg
Date: Fri, 06 Jul 2018 20:09
Date: Fri, 06 Jul 2018 20:09
17 lines
1521 bytes
1521 bytes
On 06.07.2018 21:42, Borneq wrote: > W dniu 06.07.2018 o 18:01, Bartłomiej Golenko pisze: >> C++98: >> If the eofbit flag is set before the call, the function fails (sets >> failbit and returns). >> >> C++11: >> The function clears the eofbit flag, if set before the call. > > Czyli problem jest w C++98 a nie w C++11? > Ja używałem to w Visualu 2015, czy tam domyślnie ustawione jest C++14? Pierwszy link z googla na [ seekg after eof] pisze, że można to obejść wołając clear(). pzdr bartekltg
Re: Problem z std::istream
Author: Borneq
Date: Fri, 06 Jul 2018 20:46
Date: Fri, 06 Jul 2018 20:46
5 lines
1218 bytes
1218 bytes
W dniu 06.07.2018 o 22:09, bartekltg pisze: > Pierwszy link z googla na [ seekg after eof] pisze, że można to obejść > wołając clear(). Dzięki, będzie na przyszłość.
Re: Problem z std::istream
Author: Bartłomiej Golenko
Date: Sat, 07 Jul 2018 11:06
Date: Sat, 07 Jul 2018 11:06
15 lines
1471 bytes
1471 bytes
Borneq <borneq@antyspam.hidden.pl> wrote: > W dniu 06.07.2018 o 18:01, Bartłomiej Golenko pisze: >> C++98: >> If the eofbit flag is set before the call, the function fails (sets >> failbit and returns). >> >> C++11: >> The function clears the eofbit flag, if set before the call. > > Czyli problem jest w C++98 a nie w C++11? > Ja używałem to w Visualu 2015, czy tam domyślnie ustawione jest C++14? Problem nie jest w c++98, problem jest w "nieczytaniu" dokumentacji ;) BG
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads