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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Lost---
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 10
28.04.2012, 14:49     Работа с файлами C++. Подсчёт строк. #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++ Работа с файлом, подсчёт символов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 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++. Подсчёт строк.
Ответ Создать тему
Опции темы

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