![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| RealJester |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Непонятен следующий момент, если мы открыли файл (пользуемся потоками fstream), потом считали что-нибудь из него, то как нам вернуться обратно к началу и повторно что-то считать?
Например следующий код, считывает по символу из какого-то файла:
Но повторно мы не сможем так сдлеать (если только не закроем и откроем файл заново). Как позиционироваться по файлу элегантно (то есть без повторного закрытия и открытия)? |
|||
|
||||
| SparF |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 14.9.2006 Где: Санкт-Петербург/М осква Репутация: нет Всего: 18 |
-------------------- Люди, не пользуйтесь пиратским программным обеспечением - переходите на Linux! |
|||
|
||||
| RealJester |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
SparF, пасиб за ссылку, но всеравно не получается... Позиционироваться позиционируюсь, но вывести содержимое файла заново не могу.
|
|||
|
||||
| SparF |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 14.9.2006 Где: Санкт-Петербург/М осква Репутация: нет Всего: 18 |
оч хороший пример нашел тут, и главное - рабочий и более в тему. Если работать не будет - покажи код.
-------------------- Люди, не пользуйтесь пиратским программным обеспечением - переходите на Linux! |
|||
|
||||
| RealJester |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
SparF, тоже не получается
Вот вырезка из кода:
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
RealJester, может file.seekg(0,std::ios::beg);?
Это сообщение отредактировал(а) Xenon - 18.3.2007, 15:31 |
|||
|
||||
| RealJester |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Xenon, не работает...
|
|||
|
||||
| SparF |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 14.9.2006 Где: Санкт-Петербург/М осква Репутация: нет Всего: 18 |
Не сразу вспомнил))) я в свое время на эту штуку натыкался =)
вот рабочий код:
Дело в том, что когда мы доходим при помощи is.get(nowChar) до конца файла, устанавливается флаг ошибки. Собственно is.clear() очищает этот флаг -------------------- Люди, не пользуйтесь пиратским программным обеспечением - переходите на Linux! |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
SparF, ах вот она сволочь где запряталась, то есть по той же причине я не могу одной переменной fstream открывать поочередно два разных файла на чтение? Мне нужно сбросить флаг?
Это сообщение отредактировал(а) Xenon - 18.3.2007, 18:04 |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
да, и помнится я об этом как раз тебе говорил Это сообщение отредактировал(а) zkv - 18.3.2007, 18:24 |
|||
|
||||
| SparF |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 14.9.2006 Где: Санкт-Петербург/М осква Репутация: нет Всего: 18 |
Xenon, ну без clear() вот этот вот код не работает )))) :
Почитать можно тут -------------------- Люди, не пользуйтесь пиратским программным обеспечением - переходите на Linux! |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
zkv, да, я как раз чего и вспомнил-то
|
|||
|
||||
| console |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 307 Регистрация: 12.2.2007 Где: Belarus::Minsk Репутация: 1 Всего: 3 |
rewind(pointer2file)
|
|||
|
||||
| RealJester |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
SparF, большое спасибо!
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |