|
|
|
Проблема с уничтожающимся потоком
|
|||
|---|---|---|---|
|
#18+
Что есть: Есть программа. В ней перегрузка оператора ввода (получает ifstream и возвращает ifstream) с довольно-таки муторной обработкой текста (для чего пришлось перегонять поток в string). После обработки я с чистой совестью хотел сделать ifstream.putback()'ом впхнуть это обратно, но не тут-то было... Файл на вход читается до конца; после чего весь поток отдается на растерзание обработчику (который поедает весь этот поток целиком). Код: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Проблема в том, что судя по всему поток уничтожается с чтением EOF. Возможно ли как-нибудь засечь EOF до считывания еофа и уничтожения потока? Или как-нибудь предотвратить его уничтожение? Или проще создать новый поток и писать содержимое строки уже в него, и его же передавать далее? Если последнее - подскажите плиз, как именно создается поток и в него пишется строка без необходимости создания файла. Буду премного благодарен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 03:55 |
|
||
|
Проблема с уничтожающимся потоком
|
|||
|---|---|---|---|
|
#18+
автор, ничего не понятно. зачем ты хочешь запихать обратно в поток то, что оттуда уже считал? если ты это уже считал в строчку, работай с этой строчкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 13:11 |
|
||
|
Проблема с уничтожающимся потоком
|
|||
|---|---|---|---|
|
#18+
В ifstream putback'ом можно вернуть только один символ, - только что прочитанный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 17:33 |
|
||
|
Проблема с уничтожающимся потоком
|
|||
|---|---|---|---|
|
#18+
Немножко лоханулся.Всеу что можно воостановить, вернуть назад в поток расположено межде началом буфера ввода и текущей позицией в нем. На большее расчитывать нельзя. Если поток не буферизован то можно расчитывать только на один символ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 18:33 |
|
||
|
Проблема с уничтожающимся потоком
|
|||
|---|---|---|---|
|
#18+
DarkPhoenix пишет: > Проблема в том, что судя по всему поток уничтожается с чтением EOF. Поток не уничтожается. Он переходит в состояние "конец данных". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 14:16 |
|
||
|
Проблема с уничтожающимся потоком
|
|||
|---|---|---|---|
|
#18+
Кстати eofbit можно снять - вызвать метод clear(ios::eof_bit) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 14:34 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34498281&tid=2028937]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 515ms |

| 0 / 0 |
