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

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

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

Количество строк в файле - C++

28.03.2009, 22:03. Просмотров 2730. Ответов 28
Метки нет (Все метки)

суть задачи такова нужно посчитать кол-во строк. мое предположение: создается цикл, ставиться счетчик. но когда должен закансиваться цикл? если можно поподробнее.
все это дело пишеться на microsoft visual studio 6.0. c использованием мастера
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2009, 22:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество строк в файле (C++):

Количество строк в файле - C++
Вот написал простенькую программу для подсчета строк в файл все работает но мучают сомнения почему везде где я бы не читал все делают по...

Количество строк в файле, перезапустить поток - C++
Использую вот такой код для проверки кол-ва строк в файле while (!file.eof()) { if (file.get()=='\n') amount++; } ...

Количество строк в файле. Синтаксический анализатор - C++
Подскажите пожалуйста. Я написал синтаксический анализатор. Он считывает некоторое выражение из текстового файла. Мне хотелось бы знать...

Посчитать количество строк в файле (функция) - C++
Добрый день, есть функция, принимающая поток данных: int totalRecords(std::fstream& f){ unsigned int total = 0; std::string line; ...

Найти количество строк в текстовом файле - C++
я не можу написати програму для підрахування кількості стрічок в текстовому файлі. чомусь в результаті видає 3 помилки, я пишу на Turbo...

Подсчитать количество строк в текстовом файле - C++
Нужно написать программу : Подсчитать количество строк в текстовом файле. Под строкой понимать совокупность символов, заканчивающихся...

28
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.03.2009, 22:08 #2
считывание файла в режиме Си ? или Си++ ?

в Си стиле

C
1
2
3
4
FILE *F = fopen("file.dat", "rt");
int kol=0;
while (!feof(F)) kol++;
fclose(F);


в Си++ стиле
C++
1
2
3
4
ifstream fin("file.dat");
int kol=0;
while (!fin.eof()) kol++;
fin.close();
1
dimab
0 / 0 / 0
Регистрация: 28.03.2009
Сообщений: 12
28.03.2009, 22:25  [ТС] #3
не получается вот что пишет:
C:\Documents and Settings\Àäìèíèñòðàòîð\Ðàáî÷èé ñòîë\5\5Dlg.cpp(212) : error C2065: 'ifstream' : undeclared identifier
C:\Documents and Settings\Àäìèíèñòðàòîð\Ðàáî÷èé ñòîë\5\5Dlg.cpp(212) : error C2146: syntax error : missing ';' before identifier 'fin'
C:\Documents and Settings\Àäìèíèñòðàòîð\Ðàáî÷èé ñòîë\5\5Dlg.cpp(212) : error C2065: 'fin' : undeclared identifier
C:\Documents and Settings\Àäìèíèñòðàòîð\Ðàáî÷èé ñòîë\5\5Dlg.cpp(214) : error C2228: left of '.eof' must have class/struct/union type
C:\Documents and Settings\Àäìèíèñòðàòîð\Ðàáî÷èé ñòîë\5\5Dlg.cpp(214) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.03.2009, 22:30 #4
ну во втором случае подключить надо библиотеку

C++
1
#include <fstream.h>
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
28.03.2009, 22:31 #5
когда соберёшь, для считывания юзай fgets(line, MAXLINE, fp); или fp.getline(line, MAXLINE); они обе считывают строку, считая, что она заканчивается символом '\n', MAXLINE задавай побольше, потому что если не хватит символов, она половину строки посчитает строкой, и вторую половину тоже посчитает строкой
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.03.2009, 22:34 #6
ой точно =) пардон забыл...

Добавлено через 1 минуту 54 секунды
C
1
2
3
4
5
6
7
8
9
FILE *F = fopen("file.dat", "rt");
int kol=0;
char str[20];
while (!feof(F)) 
{
fgets(str,20,F);
kol++;
}
fclose(F);
C++
1
2
3
4
5
6
7
8
9
ifstream fin("file.dat");
int kol=0;
char str[20];
while (!fin.eof()) 
{
fin.getline(str,20);
kol++;
}
fin.close();
1
dimab
0 / 0 / 0
Регистрация: 28.03.2009
Сообщений: 12
28.03.2009, 22:42  [ТС] #7
работаю с++. он показывает одну строку, т.е. цикл только один раз проходиться
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.03.2009, 22:47 #8
а Си код пробывал?
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
28.03.2009, 22:48 #9
запиши в файл строку на 25 символов
0
dimab
0 / 0 / 0
Регистрация: 28.03.2009
Сообщений: 12
28.03.2009, 22:49  [ТС] #10
то же самое кол-во строк 1
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.03.2009, 22:54 #11
вот рабочий код для первого случая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <process.h>
#include <iostream.h>
 
int main()
{
    FILE *F = fopen("new.txt", "rt");
 
    int kol=0;
    char str[20];
 
    while (!feof(F)) 
    {
        fgets(str,200,F);
        kol++;
    }
 
    fclose(F);
 
    cout << kol << "\n";
 
    system("pause");
    return 0;
}
Добавлено через 1 минуту 35 секунд
а вот для второго...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <process.h>
#include <fstream.h>
#include <iostream.h>
 
int main()
{
    ifstream fin("new.txt");
    int kol=0;
    char str[20];
 
    while (!fin.eof()) 
    {
        fin.getline(str,200);
        kol++;
    }
    fin.close();
 
    cout << kol << "\n";
 
    system("pause");
    return 0;
}
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
28.03.2009, 23:06 #12
а теперь в файл запиши несколько строк

one
two
three
0
dimab
0 / 0 / 0
Регистрация: 28.03.2009
Сообщений: 12
28.03.2009, 23:34  [ТС] #13
ни чего не помогает
0
Monte-Cristo
2794 / 1380 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.03.2009, 23:36 #14
кода которые я привел, у меня работают 100%
0
dimab
0 / 0 / 0
Регистрация: 28.03.2009
Сообщений: 12
28.03.2009, 23:40  [ТС] #15
а у меня 23 ошибки

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
name=DlgOpen.GetPathName();
 
ifstream fin(name);
    int kol=0;
    char str1[25];
 
    while (!fin.eof()) 
    {
        fin.getline(str1,25);
        kol++;
    }
    fin.close();
 
    //сout << kol << "\n";
    system("pause");
 
}
 
 
m_k=k;
может что то не так подгоняю
0
28.03.2009, 23:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2009, 23:40
Привет! Вот еще темы с ответами:

подскажите как подсчитать количество строк в файле - C++
Подскажите пожалуйста код программы как подсчитать кол-во строк в файле

Считать количество строк в файле и записать в масив - C++
есть класс Book #ifndef BOOK_H_ #define BOOK_H_ #include&lt;iostream&gt; #include&lt;string&gt; using namespace std; class Book { ...

Определить количество символов, слов и строк в файле - C++
Здравствуйте ребята, на практических столкнулась с проблемой, необходима ваша помощь) Есть некий текстовый файл, мне нужно определить...

Файл: В текстовом файле подсчитать количество непустых строк. - C++
В текстовом файле подсчитать количество непустых строк.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru