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

Как детектировать EOF с fgets/gets - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Надеюсь получить объяснения http://www.cyberforum.ru/cpp-beginners/thread959666.html
ЗАДАНИЕ: Составить программу, которая вычисляет причитающуюся к выплате сумму через N месяцев, если деньги в сумме, равной S, положены на депозит из расчета P % годовых. УСЛОВИЕ ВЫПОЛНЕНИЯ: Задание 2. Линейный алгоритм функции из задания1 разделить на две процедуры, выделив в одну вычислительные операции этого алгоритма, а в другую все операции по подготовке исходных данных,...
C++ Написать программу, которая предлагает пользователю ввести целое число, определяет его четность и выводит результат в консоль 1.Написать программу, которая предлагает пользователю ввести целое число, определяет его четность и выводит результат в консоль. http://www.cyberforum.ru/cpp-beginners/thread959651.html
C++ Условие: По двум сторонам и углу между ними в треугольнике АВС найти два остальных угла и третью сторону. c^2 = a^2 + b^2 - 2 ab cos A
Условие: По двум сторонам и углу между ними в треугольнике АВС найти два остальных угла и третью сторону. c^2 = a^2 + b^2 - 2 ab cos A #include <stdio.h> #include <windows.h> #include <math.h> #include <iostream> void main () {
C++ Скопировать из файла часть символов
Требуется скопировать часть файла(txt) с позиции n до позиции m в поток и посчитать в этой части количество цифровых символов. не могу написать с позиции до позиции. хотелось бы со строчками работать вот набросок #include <fstream> #include <iostream> #include <cstring> #include <string> #include <vector> using namespace std;
C++ Перегрузка операторов для шаблона http://www.cyberforum.ru/cpp-beginners/thread959645.html
Здравствуйте, есть некий шаблон класса, для него я перегрузил оператор вывода. Если применять его допустим к типу INT то все работает, а если например к типу double,float или char, возникает ошибка: required from ‘std::ostream& operator<<(std::ostream&, const MyArray<T>&) ’ Собственно сама перегрузка: template <typename T> ostream &operator<<(ostream &stream, const MyArray<T> &one) { ...
C++ Перечислимый тип enum ,что это? Не пойму зачем он нужен,если все равно он возвращает целые числа? Как обращаться именно к имени(string) элемента типа enum?К примеру вывести имя из enum.Не помогает даже cast ... В моем понимании,будто бы это просто воображение,и я представляю,что 1-это первый элемент(имя у меня в голове),2-это второй элемент (имя у меня в голове)...ит.д. Кто нибудь объясните на примере моей задачи,вывод... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.09.2013, 14:12     Как детектировать EOF с fgets/gets
Проблема в определении:
Файл1:
строка1
строка2
EOF


Файл2:
строка1
строка2EOF


Если пытаться пробегать fgets() и сразу проверять, встретился ли EOF, то при чтении второго файла будет потеряна последняя строка. Если проверять не после fgets(), то в первом файле будет якобы две "строка2".
Вижу два варианта решения: в начало файла добавить linesCount или хранить две строки: одна - прошлая, вторая - текущая и сравнивать их, если одинаковы при EOF - не выводить. Оба решения мне не подходят.

Посимвольное чтение не подходит. Только gets/fgets
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru