| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Проблема с ifstream |
| Автор: commoner 17.11.2006, 09:46 |
| Привет всем. У меня такой вопрос. Почему после определенного количества обращений к объекту ifstream он перестает работать. Не реагируют никакие операторы. И это не зависит от количества обращений к файлу. Бьюсь над этим вопросом второй день. помогите кто сможет. |
| Автор: Daevaorn 17.11.2006, 10:01 |
| commoner, Показывай код. Чудес не бывает. |
| Автор: En_t_end 17.11.2006, 10:05 |
| commoner, ::clear ? |
| Автор: albertn 17.11.2006, 16:37 |
| commoner, У меня такое уже было. Все оказалось, что происходила толи ошибка чтения, толи входной поток закончился и он полностью переставал работать. |
| Автор: commoner 17.11.2006, 17:48 | ||
Итак таких циклов у меня штук 8; Могу сказать что если такой цикл запускается раз 16(сумма всех циклов во всех функциях) то все ок. Если же больше то tempStr перестает принимать какиелибо значения. И это не зависит от размера файла. т.е не зависит от использования >> оператора. Вопрос все еще открыт. |
| Автор: JackYF 17.11.2006, 17:54 |
| Ты пробовал, как предлагал En_t_end - перед каждым seekg делать clear() ? |
| Автор: albertn 17.11.2006, 17:56 |
| Лично я отказался от использования потоков, т.к. родные функции дают больше свободы (имхо). В программе есть проверка на исчерпывание файла? Можешь ли ты горантировать, что полученная строка будет вдлину меньше 100 символов? А вообще данный код мог бы и не приводить, т.к.он ни о чем не говорит. Приведи полный код программы, или обрежь все лишнее, чтобы было видно что ты делаешь. |
| Автор: zabivator 17.11.2006, 18:28 | ||||
А если поток закончиться раньше, чем будет найдено слово? |
| Автор: commoner 17.11.2006, 19:02 |
| После определенного момента tempStr вообще не принимает ничего, только tempStr[0] принимает значение 0. не помогает даже закрытие и открытие файла! такое ощущение что ifstream просто вырубается. (странно звучит) |
| Автор: JackYF 17.11.2006, 19:06 |
| commoner, в третий раз спрашиваю - clear() поставил? |
| Автор: commoner 17.11.2006, 20:46 |
| да поставил, не помогло. |
| Автор: albertn 18.11.2006, 15:09 | ||
К тому-же форматированный ввод-вывод гораздо наглядней (опять же имхо) |
| Автор: Xenon 18.11.2006, 15:52 |
| zabivator Ну просто впиши "условие && !file.eof()" |