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

Почему последнюю строку из файла выводит дважды? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Длинное имя файла изменить на короткое http://www.cyberforum.ru/cpp-beginners/thread636839.html
Доброго времени суток! Необходима помощь в написании программы. Суть: имеется файл с длинным именем,содержащий ххх-,далее последовательность 5 цифр. Необходимо переименовать файл в 'к_эти 5цифр',сохранив расширение. И эта последовательность находится в середине имени файла. на примере: есть файл 'абв-123-...-ххх-22222-...xml',где ххх- постоянные во всех файлах. Нужно,чтобы этот файл был...
C++ Нахождение среднего арифметического и геометрического двух чисел Здравствуйте! Написал программу для нахождения среднего арифметического и геометрического двух чисел #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> int main (void) { double a , b , Sr; printf("a = "); http://www.cyberforum.ru/cpp-beginners/thread636832.html
C++ const volatile
Пример из Шилдт Г. "С++ Базовый курс (3-е издание, 2010)" стр 205 const volatile unsigned char *port = (const volatile char *) 0x2112; Непонятно почему Шилд называет это константным указателем на изменяемый объект. Как я понимаю volatile здесь не играет ни какой роли в коде... а const относится к переменной, а не к указателю.
Чтение данных из файла на примере программы C++
У меня есть программа которая с клавы осуществляет ввод данных об автомобилях и вывод марку машины с наивысшей скоростью. Вот этот код: #include <iostream> #include <conio.h> #include <cstdlib> #include <locale.h> #include <string.h> using namespace std;
C++ Вставка символа через каждые 8 букв http://www.cyberforum.ru/cpp-beginners/thread636665.html
Вообщем есть строка ввида "6842318465134824" мне надо её превратить в "68423184-65134824". Вот и вопрос как вставить после 8 цифры этот знак '-'? думал я думал вот что получилось. char razdel(char str) { for (int i = 0; i < strlen(str); i++)
C++ Не очевидное смещение к полям структуры Доброе время суток! Столкнулся с непонятным мне вопросом... у меня есть структура: struct A { uint16_t x; uint32_t y; } подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
13.08.2012, 08:30     Почему последнюю строку из файла выводит дважды?
Возможно, потому что у вас в файле всё аккуратно по 4 байта лежит. (Проблема у меня воспроизвелась.) Тогда при чтении последней строки fgets не доходит до EOF, а стоит прямиком перед ним. Только при следующей итерации он пытается считать очередные 4 байта из файла, обламывается, так как наконец доходит до EOF, не изменяет буфер, неизменный буфер ещё раз выводится на экран и наконец цикл заканчивается, так как флаг EOF был всё же установлен fgets.
 
Текущее время: 16:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru