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

Подсчет количества строк в файле в С++ (fstream) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 74
04.06.2014, 20:55     Подсчет количества строк в файле в С++ (fstream) #1
Добрый день!
Для подсчета строк в файле до сего момента использовал С'шные функции. Пожалуйста, подскажите, как это можно сделать, используя функции С++ (Используются файловые потоки).
Заранее благодарю!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
04.06.2014, 21:28     Подсчет количества строк в файле в С++ (fstream) #2
C++
1
2
3
4
5
ifstream inp("file.dat");
char buf[256];
int count=0;
while(inp.getline(buf,256))
  count++;
Salabim
0 / 0 / 1
Регистрация: 27.09.2011
Сообщений: 74
04.06.2014, 21:53  [ТС]     Подсчет количества строк в файле в С++ (fstream) #3
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
fstream inp("file.dat");
char buf[256];
int count=0;
while(inp.getline(buf,256))
count++;
Благодарю. Здесь если длинна строки больше 256, "фокус" не удастся?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.06.2014, 23:41     Подсчет количества строк в файле в С++ (fstream) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
    ifstream inp("file.txt");
    if (!inp)
        cout << "Error!" << endl;
    else
    {
        int count = 0;
        while(inp.ignore(numeric_limits<streamsize>::max(), '\n'))
        {
            if (!inp.eof()) // если в конце последней строки '\n', иначе не нужно
                count++;
        }
    }
frontez
4 / 4 / 0
Регистрация: 26.04.2013
Сообщений: 120
05.06.2014, 04:23     Подсчет количества строк в файле в С++ (fstream) #5
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <fstream>
#include <string>
#include <Windows.h>
#include <clocale>
#include <sstream> //  заголовочный файл с классами, функциями и переменными для организации работы со строками
 
using namespace std;
 
int main() // определение главной функции
{
    //пример 8 Программа считает количество строк в файле add.txt выводит на экран и записывает в новый указанный пользователем файл.
    string a;
    setlocale (0, "");
    ofstream fout; // определение обьекта fout для вывода данных в файл
    ifstream fin; // определение обьекта fin для ввода данных из файла
    fin.open ("add.txt");
    cout << "Введите имя файла для записи" << endl;
    string name1;
    cin >> name1;
    string c = name1 + ".txt";
    fout.open (c.c_str(), ios::app);
    int line_nomer=0;
    string probel (" ");
    string sohr;
    while(getline(fin, a))
    {
        line_nomer++;
    }
    cout<<"Количество строк в файле add.txt = "<<line_nomer<<"\n"; //вывод на экран
    fout<<"Количество строк в файле add.txt = "<<line_nomer<<"\n"; //запись во второй файл
    fin.close();
    fout.close();
    system ("pause");
}
Yandex
Объявления
05.06.2014, 04:23     Подсчет количества строк в файле в С++ (fstream)
Ответ Создать тему
Опции темы

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