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

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

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

Считывание из файла - C++

14.11.2011, 21:06. Просмотров 877. Ответов 4
Метки нет (Все метки)

Почему при считывании строк из файла циклом вида

C++
1
2
3
4
5
while (!feof(f))
{
fgets(line, MAX, f);
printf("%s\n", line);
}
если последняя строка пустая (то есть просто в конце файла нажали enter), она дублируется? как избежать этого?
У меня у самого следующие догадки: что когда маркер стоит на предпоследней строке, после считывания конец файла так и не достигается из-за enter'а, но и считать ничего тоже не удается => строка остается прежней, поэтому вывод дублируется на очередной итерации. Что-то вроде пустого символа?
У него есть вид какой-то? Как например у символа перехода на новую строку "\n"? Чтобы можно было задать условие, которое отсечет дублирование...
 Комментарий модератора 
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2011, 21:06     Считывание из файла
Посмотрите здесь:

Считывание из файла - C++
Здравствуйте. подскажите как сделать, чтобы с файла считывались 2 числа, но при этом в файле это выглядит вот так : (25,16). Пытался...

считывание с файла - C++
файл содержит data.txt: 200 185 170 160 76 54.9 39 27 7.5 10.7 12.9 15.9 6.5 7.9 12 12 ...

Считывание с файла - C++
Прогррамма неверно считывает числа с файла.вот кусок программы int mass_in_3(int *k,int *j) { int array; FILE *f1; ...

Считывание с файла ! - C++
Всем доброе врямя суток ! Помогите пожалуйста мне надо чтобы прога считывала из файла не до пробела а запихивала в символьный массив прям...

Считывание из файла - C++
Помогите пожалуйста,никак не могу найти,как считать данные из такого файла: Rup 106 12 38 40.2 -51 09 01 300.88...

Считывание из файла - C++
есть кодик int main(int argc, char* argv) { setlocale(LC_ALL, "RUS"); char c = 0; int n = 0, j = 0; int *a; ifstream...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
emilen
10 / 10 / 0
Регистрация: 25.05.2010
Сообщений: 52
14.11.2011, 21:27     Считывание из файла #2
Если я правильно понимаю, то сначала выводиться '\n' который считался из файла, а потом еще из "%s\n"
Ask
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 16
14.11.2011, 21:53  [ТС]     Считывание из файла #3
не, я немного не о том. Предпоследняя строка выводится повторно, если даже выводить вот так

C++
1
2
3
4
5
while (!feof(f))
{
fgets(line, MAX, f);
puts(line);
}
то есть через puts. Если последняя строка в файле пустая

Добавлено через 10 минут
если использовать условие цикла
C++
1
while (fgets(line, MAX, FInput) != NULL)
то все считывается нормально и не дублируется)
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.11.2011, 05:17     Считывание из файла #4
Цитата Сообщение от Ask
если использовать условие цикла
так и делай

ответ на вопрос: потому что, когда строка не может быть прочитана через fgets(), за вызовом fgets() всё равно идёт вывод
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2011, 21:39     Считывание из файла
Еще ссылки по теме:

Считывание с файла - C++
Помогите организовать считывание с файла для следующего задания: Нужно создать программу которая считывает с файла параметры...

Считывание из файла - C++
Помогите пожалуйста! Почему не работает? Нужно считать из файла в двумерный массив матрицу состоящую из 0 и 1. char **table; ...

Считывание из файла - C++
В общем-то задача таков- считать из файла ВСЁ, ЧТО ТАМ ЕСТЬ, далее это зашифровать и сохранить. Для шифрования выбрал base64, проблем...

Считывание из файла С++ - C++
Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от "0" до "9" словами (ноль, один два), начиная каждое...

Считывание из файла - C++
bool Poisk_Street() { ifstream fin; std::string street,fail; cout<<endl<<"Введите улицу для поиска:"; cin>>street; ...

Считывание из файла - C++
//test.cpp #include <iostream> #include <fstream> using namespace std; void main() { ifstream input("input.txt"); ...


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

Или воспользуйтесь поиском по форуму:
Ask
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 16
15.11.2011, 21:39  [ТС]     Считывание из файла #5
сам не понял что-то сразу)
Yandex
Объявления
15.11.2011, 21:39     Считывание из файла
Ответ Создать тему
Опции темы

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