Форум программистов, компьютерный форум CyberForum.ru

Как начать чтение файла сначала после Getline с первой строчки в fstream? - C++

Войти
Регистрация
Восстановить пароль
 
SuperProgramer
-30 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 104
07.07.2015, 18:38     Как начать чтение файла сначала после Getline с первой строчки в fstream? #1
Пишу программу,которая читает строки их текстового файла и передаёт их в поле Edit1 поочерёдно,по нажатию кнопки.Когда строки закончатся,надо начать чтение с первой строки.Как?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
fstream fout;
string str;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
fout.open("keys.txt");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(!fout.eof())
{
 getline(fout,str);
Edit1->Text=str.c_str();
}
else
{
//Если строки в файле кончились тут должно быть что-то что начнёт чтение сначала
 }
 }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 18:38     Как начать чтение файла сначала после Getline с первой строчки в fstream?
Посмотрите здесь:

чтение с текстового файла getline()' ом C++
C++ fstream не работает и чтение и запись
Чтение из файла: getline() не работает C++
Чтение из файла, не используя getline C++
Заменить чтение из файла аналогом fstream C++
C++ Чтение всего файла fstream
Fstream - чтение из файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
07.07.2015, 18:57     Как начать чтение файла сначала после Getline с первой строчки в fstream? #2
seekg
SuperProgramer
-30 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 104
07.07.2015, 19:03  [ТС]     Как начать чтение файла сначала после Getline с первой строчки в fstream? #3
Цитата Сообщение от 0x10 Посмотреть сообщение
Пример покажите у меня не вышло
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
07.07.2015, 19:04     Как начать чтение файла сначала после Getline с первой строчки в fstream? #4
Цитата Сообщение от SuperProgramer Посмотреть сообщение
Пример покажите у меня не вышло
По ссылке есть пример.
SuperProgramer
-30 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 104
07.07.2015, 19:09  [ТС]     Как начать чтение файла сначала после Getline с первой строчки в fstream? #5
Цитата Сообщение от 0x10 Посмотреть сообщение
По ссылке есть пример.
Там ifstream а мне надо fstream
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
07.07.2015, 19:11     Как начать чтение файла сначала после Getline с первой строчки в fstream? #6
Цитата Сообщение от SuperProgramer Посмотреть сообщение
мне надо fstream
См иерархию классов и список методов: fstream.
SuperProgramer
-30 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 104
07.07.2015, 19:15  [ТС]     Как начать чтение файла сначала после Getline с первой строчки в fstream? #7
Цитата Сообщение от 0x10 Посмотреть сообщение
См иерархию классов и список методов: fstream.
Там тоже есть seekg но не работает

Добавлено через 1 минуту
Цитата Сообщение от 0x10 Посмотреть сообщение
См иерархию классов и список методов: fstream.
seekg там есть но не работает.Вызываю правильно
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
07.07.2015, 19:16     Как начать чтение файла сначала после Getline с первой строчки в fstream? #8
Цитата Сообщение от SuperProgramer Посмотреть сообщение
не работает
Такие формулировки можно смело игнорировать.
Где код, где сообщения об ошибке или симптомы "не работает"? Нужно техническое описание проблемы.
SuperProgramer
-30 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 104
07.07.2015, 19:21  [ТС]     Как начать чтение файла сначала после Getline с первой строчки в fstream? #9
Цитата Сообщение от 0x10 Посмотреть сообщение
Такие формулировки можно смело игнорировать.
Где код, где сообщения об ошибке или симптомы "не работает"? Нужно техническое описание проблемы.
Сообщений нет но сначала не начинает.В Edit 1 стоит последняя строка,сколько на кнопку ни жми.Сначала читает по строке файл кончается,а сначала не начинает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
 
if (!fout.eof())
{
 getline(fout,str);
 
Edit1->Text=str.c_str();
 }
 else
 {
   fout.seekg (0,ios::beg);
    getline(fout,str);
 
Edit1->Text=str.c_str();
 
 }
   }
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
07.07.2015, 19:29     Как начать чтение файла сначала после Getline с первой строчки в fstream? #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Перед вызовом seekg нужен вызов fout.clear();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2015, 19:37     Как начать чтение файла сначала после Getline с первой строчки в fstream?
Еще ссылки по теме:

Пропуск вызова cin.getline в первой итерации цикла C++
C++ Getline чтение из файла
Как задать путь для файла в fstream? C++
Если функция, подобная getline, которая может читать очень большие строчки из файла? C++
Как указать имя файла в fstream через string и функцию? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SuperProgramer
-30 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 104
07.07.2015, 19:37  [ТС]     Как начать чтение файла сначала после Getline с первой строчки в fstream? #11
Цитата Сообщение от 0x10 Посмотреть сообщение
Перед вызовом seekg нужен вызов fout.clear();
Спасибо.Всё работает.
Yandex
Объявления
07.07.2015, 19:37     Как начать чтение файла сначала после Getline с первой строчки в fstream?
Ответ Создать тему
Опции темы

Текущее время: 06:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru