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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Lost---
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 10
#1

Работа с файлами C++. Подсчёт строк. - C++

28.04.2012, 14:49. Просмотров 2110. Ответов 1
Метки нет (Все метки)

Здравствуйте.
Есть функция для подсчёта строк в файле. Выглядит она следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
int count_string(FILE *file)
{
char string[50];
int j=0;
while(feof(file)==0)
{
fgets(string,50,file);
j++;
}
return j;
}
Дело в том, что эта функция работает не совсем корректно. Если файл пустой и в нём ничего нет, то переменная подсчёта строк всё равно увеличивается на еденицу. А если в файле есть строка, то переменная так же равна еденице.
Возможно ли как-нибудь исправить эту проблему или может быть более эффективное решение этой проблемы.
Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2012, 14:49     Работа с файлами C++. Подсчёт строк.
Посмотрите здесь:

C++ Строки, работа с файлами и массивами строк
C++ Работа с файлами и массивами строк
Работа с файлами C++
Обработка строк и работа с файлами... C++
C++ работа с файлами на с++
C++ Работа с файлами
C++ Работа с файлами
C++ Подсчёт слов в строке. Подсчёт символов в словах строки
C++ Работа с файлами. Запись и чтение строк
C++ Работа с файлами
Работа с файлами C++
C++ Работа с файлом, подсчёт символов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6242 / 5845 / 1891
Регистрация: 18.12.2011
Сообщений: 14,972
Завершенные тесты: 1
28.04.2012, 15:38     Работа с файлами C++. Подсчёт строк. #2
C++
1
2
3
4
5
6
7
int count_string(FILE *file)
{
char string[50];
int j=0;
while(fgets(string,50,file)!=NULL)j++;
return j;
}
Yandex
Объявления
28.04.2012, 15:38     Работа с файлами C++. Подсчёт строк.
Ответ Создать тему
Опции темы

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