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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gekas
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 70
#1

Eof не находит конца - C++

22.05.2014, 20:48. Просмотров 477. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
string GetFileLine(fstream &file)
{
    char *atextv = new char[256];
    file.get(atextv, 255, '\n');
    file.get();
    string textv(atextv);
    delete[] atextv;
    return textv;
}
 
fstream file;
string filename;
void main(){
    setlocale(LC_ALL, "Russian");
 
    filename = "Concert.txt";
    filename = RemakeFileName(filename);//Making right file name path
    file.open(filename, fstream::in);
    if (file.is_open())
    {
        while (!file.eof()){                            // ***
            string textv = GetFileLine(file);
            trim(textv);
            cout << textv<<endl;
        }
    }
 
    system("Pause");
}
Цикл *** зацикливается. Где не прав?

Добавлено через 29 минут
Проблема решена. Вместо fileget необходимо использовать getline
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2014, 20:48     Eof не находит конца
Посмотрите здесь:

std::cin, eof не всегда принимается как признак конца файла - C++
std::string text; char ch = 0; while(!std::cin.get(ch).eof()){ text.append(1, ch); } Ввожу в консоль в Windows: &quot;^Z&quot;...

\n \0 EOF - C++
Добрый вечер, возник такой вопрос: зачем мы заменяем символ конца строки на нуль символ в данном коде (удаление символов содержащихся в s2...

Int Eof - C++
Вот проблема есть массив int a заполнять его целыми числами последовательность завершается признаком конца ввода

EOF K&R - C++
Всем доброго времени суток. Изучаю Си по Дейтелам, а теперь попала в руки книга авторов языка. Интересно теперь будет параллельно по двум...

Не работает while (!***.eof() ! - C++
Здравствуйте, задание такое: Вводить с клавиатуры данные и записывать их в файл в виде Имя группа оценка Иванов ...

Очистить поток от EOF - C++
Как очистить вх. поток от символа конца строки? Вот например нужно мне считать два куска текста (с пробелами и переводами каретки) в два...

Что делать с EOF - C++
Всем привет. Ввожу в Visual Studio 2012 вот такой код: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define eof -1 int main() { long...

Функция fclose() и EOF - C++
int fclose( FILE *stream); Возвращает 0, если все ОК и возращает EOF, если какая-нибудь ошибка. Функция имеет тип Int. Значит...

Не работает eof(). о__О - C++
в такой вот ситуации возвращает всегда ноль. даже в данном случае, когда на e: лежит чистый файл. #include&lt;conio.h&gt; ...

Getchar и putchar EOF - C++
Подскажите что за символ такой EOF? Чисто догадываясь это 0, но не работает. #include &lt;stdio.h&gt; int main() { int c; while((c...

Почему не срабатывает EOF - C++
У меня стоит Visual Studio 2010 написал простенькую программу #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; int main() { int...

Ifstream и eof в нем - C++
Имеется код: int main() { setlocale(LC_ALL, &quot;rus&quot;); // корректное отображение Кириллицы char abc; ofstream fout(&quot;ofstream...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.05.2014, 22:04     Eof не находит конца #2
Цитата Сообщение от gekas Посмотреть сообщение
Цикл *** зацикливается. Где не прав?
если на этапе чтения произойдет ошибка то eof никогда не наступит
Ответ Создать тему
Опции темы

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