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

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

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

Показать сообщение отдельно
alexcoder
1464 / 678 / 89
Регистрация: 03.06.2009
Сообщений: 3,565
Завершенные тесты: 1
13.08.2012, 08:31
Потому что в конце выводимого файла есть перевод строки, на нем fgets возвращает NULL и выводится повторно последняя строка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
FILE *f;
 
    if(!(f = fopen("keys.txt","r")))
        printf("Error access to keys.txt\n");
    else
    {
        char stroka[5];
 
        while(!feof(f))
        {
            if(fgets(stroka , 5 , f))
            printf("%s",stroka);
        }
    }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru