Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Arcor
5122 / 1981 / 427
Регистрация: 20.11.2009
Сообщений: 6,593
Записей в блоге: 1
1

Последняя строка из файла читается дважды

28.04.2012, 01:19. Просмотров 3022. Ответов 4
Метки нет (Все метки)

в общем такая проблема, при считывании из файла дублируется последняя строка, что сделал не так? или почему она вообще дублируется????
вот код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    FILE *f;
    int i, j, k;
    f = fopen("c:\\1.txt", "rt");
    while(!feof(f))
    {
        fscanf(f, "%d %d %d", &i, &j, &k);  
        printf("%d %d %d\n", i, j, k);
    }
 
    fclose(f);
    system("pause");
}
и картинка, показывающая работу программы, файл заполненный степенями 1, 2 и 3 степенью

и еще один замечательный вопрос, с чем может быть связано вызов двойного обратного слэша при указывании пути к файлу??? ни в одном языке такого не видел
0
Миниатюры
Последняя строка из файла читается дважды  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2012, 01:19
Ответы с готовыми решениями:

Работа с файлом: из файла считывается только последняя строка
По какой то причине считывает только последнею строку из файла. В чем проблема? #include...

При считывании из файла последний элемент читается дважды
Всем доброго времени суток! Нашёл граблю. Считываю из файла слова, разделённые пробелами, в...

Читается только одна строка из файла
Здравствыйте. помогите разобраться, почему у меня из файла читается только одна строка? Задача:...

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

Не выводиться всё содержимое файла,только последняя строка
1. Создать файл SPRAW, который содержит сведения о заработанных суммах за каждый месяц для каждого...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
27477 / 18401 / 7279
Регистрация: 22.10.2011
Сообщений: 32,363
Записей в блоге: 6
28.04.2012, 01:46 2
Цитата Сообщение от Arcor Посмотреть сообщение
или почему она вообще дублируется????
Только что написал об этом: Почему последний символ читается 2 раза

Добавлено через 16 минут
Кстати, об этом:
Цитата Сообщение от Arcor Посмотреть сообщение
с чем может быть связано вызов двойного обратного слэша при указывании пути к файлу???
На самом деле обратный слеш совсем не обязателен, можно пользоваться прямым, Windows прекрасно понимает как прямые, так и обратные слэши, а вот другие ОСи - хотят только прямые. А при использовании обратных их надо дублировать просто для того, чтобы
"c:\test" не превратилось в понимании компилятора в символ табуляции, а "D:\nothing" - в символ перевода строки. И т.д.
1
Arcor
5122 / 1981 / 427
Регистрация: 20.11.2009
Сообщений: 6,593
Записей в блоге: 1
28.04.2012, 01:47  [ТС] 3
а без проверки никак не досчитать на -1... хотя вопрос глупый конечно...
но с другой стороны мне известно сколько будет строк в файле, но я не любитель придерживаться привязанности программы к чему либо, люблю писать динамически все возможные случаи, чтобы пользователь мог расширять возможности программы даже на простой программе - это мой личный тон, именно в дельфи я пишу программы вот таким образом, только там нет таких костылей как тут вот, только начал писать и сразу первый костыль попался

я просто полный нуб, как говорят сейчас, в С программировании, в самом синтаксисе.... логика то тут из любого языка подходящая, просто своеобразная от языка к языку

надо просто написать еще 2 программы для сдачи... сегодня одну сдавали, 40 минут стоял объяснял программу ничего, на отлично наговорил, хотелось бы и остальные, получил в этот раз, как самый умный задачу.. на считывание данных из файла и тут немного неудобство пришло, так то программу осталось довести до торгового вида и можно хоть завтра ее сдавать идти
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
28.04.2012, 18:56 4
Arcor, каждую функцию необходимо проверять на ошибки.
Цитата Сообщение от Arcor Посмотреть сообщение
while(!feof(f))
Так нельзя, в случаи ошибки, программа зациклится.
1
Nameless One
Эксперт С++
5795 / 3444 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
29.04.2012, 05:29 5
Почему последний символ читается 2 раза

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

1
29.04.2012, 05:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2012, 05:29

При загрузке списка из файла дублируется последняя строка
Здравствуйте! Такая проблема: Выгружаю список в файл. С процедурой выгрузки проблем нет. Всё...

Работаю с файлом *.txt. Прога ведет себя странно если последняя строка файла пуста. Почему так?
Добрый день! Помогите пожалуйста с небольшой проблемой. Что хотел сделать: Есть текстовый файл,...

Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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