Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
AfftaRx
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 33
1

Количество строк в файле, перезапустить поток

01.05.2014, 18:16. Просмотров 946. Ответов 6
Метки нет (Все метки)

Использую вот такой код для проверки кол-ва строк в файле
C++
1
2
3
4
5
6
while (!file.eof())
{
    if (file.get()=='\n')
        amount++;
}
file.seekg(0,file.beg);
и почему то после этого кода у меня файл закрывается, подскажите почему?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 18:16
Ответы с готовыми решениями:

Файловый поток узнать количество строк
Вопрос простой, нужно узнать количество строк в файле.

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

Количество строк в файле
суть задачи такова нужно посчитать кол-во строк. мое предположение: создается...

Количество строк в файле. Синтаксический анализатор
Подскажите пожалуйста. Я написал синтаксический анализатор. Он считывает...

Найти количество строк в текстовом файле
я не можу написати програму для підрахування кількості стрічок в текстовому...

6
nmcf
6277 / 5578 / 2539
Регистрация: 14.04.2014
Сообщений: 23,471
01.05.2014, 18:19 2
Всю программу покажи.
0
AfftaRx
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 33
01.05.2014, 18:36  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Всю программу покажи.
ну вот я проверял с таким кодом
Кликните здесь для просмотра всего текста
C++
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
void main()
{
fstream file;
int amount=1;
file.open("file.txt");
while (!file.eof())
{
    if (file.get()=='\n')
        amount++;
}
file.seekg(0,file.beg);
cout << amount << "\n";
if (!file)
{
    cerr <<"Error";
    getchar();
    exit(0);
}
else cout << "Good";
file.close();
getchar();
}

т.е. просто подсчитывает кол-во строк и потом проверяет открыт ли еще файл или нет
результат
Кликните здесь для просмотра всего текста
http://i.imgur.com/sNwH9ys.jpg

картинку почему то не может нормально вставить, все время тег [img][/img] автоматом убирает
0
Resume
138 / 129 / 68
Регистрация: 08.11.2013
Сообщений: 753
Записей в блоге: 5
01.05.2014, 18:44 4
C++
1
2
3
4
5
6
7
8
9
    int s = 0;
    char S[256]; 
    ifstream in("input.txt");
    while (!in.eof())
    {
        in.getline(S,256); 
        s++;    
    }
    in.close();
Подсчёт количества строчек

Добавлено через 1 минуту
Проверка на имеющийся файл!
C++
1
2
3
4
5
if (!in) 
{
cout << "File \t not \t \t found\n";
return 1;    
}
1
AfftaRx
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 33
01.05.2014, 18:52  [ТС] 5
Resume, спасибо, так работает. Но все равно интересно почему в моем коде файл закрывается после подсчета кол-ва символов "\n". По идее все правильно должно работать.
0
IrineK
Заблокирован
01.05.2014, 18:56 6
Лучший ответ Сообщение было отмечено AfftaRx как решение

Решение

Цитата Сообщение от AfftaRx Посмотреть сообщение
Но все равно интересно
C++
1
2
3
4
5
6
7
8
while (!file.eof())
{
    if (file.get()=='\n')
        amount++;
}
file.clear();    //чистим поток от eof
file.seekg(0,file.beg);
//...
1
AfftaRx
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 33
01.05.2014, 21:15  [ТС] 7
IrineK, во, спасибо, работает
0
01.05.2014, 21:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2014, 21:15

Подсчитать количество строк в текстовом файле
Нужно написать программу : Подсчитать количество строк в текстовом файле. Под...

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

Посчитать количество строк в файле (функция)
Добрый день, есть функция, принимающая поток данных: int...


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

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

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