оч простой вопрос по С/С++

natalii

Подскажите, как в считываемом текстовом файле узнать количество строк в матрице?//если не лень, напишите кусочек кода, плз

freezer



#include <fstream>
using namespace std;
void main
{
ifstream f("matrix.txt");
string s;
int m;
for(m=0;!f.eof;++m)
getline(f, s);
cout << m << endl;
}

natalii

а кроме fstream ,никакой библиотеки не надо, а то он на string ругается?

avinir60

#include<string.h>

natalii

не помогло

ma3yp

Компилятор какой?
И как компилируешь?
Кстати, предыдущий докладчик был не прав. string.h - заголовочный файл из стандартной библиотеки C, к строкам C++ он не имеет никакого отношения.

freezer

#include <string>

natalii

со <string> помогло. Только неправильно определяет количество строк- выдает что m=1, хотя строчек больше

natalii

visual studio

ma3yp

Дык отлаживай!
Может быть, файл не открывает?
Имя неверное или каталог?

natalii

это ты к тому, что код верный- только надо отладить нормально?

freezer

брехня. Вот это:


#include <fstream>
#include <string>
#include <iostream>
using namespace std;
void main
{
ifstream f("matrix.txt");
if(!f) {cout << "File not found!" << endl; return;}
string s;
int m;
for(m=0;!f.eof;s.empty || ++m)
getline(f, s);
cout << m << endl;
}


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

kokoc88

В какой матрице?

natalii

Все! заработало. Спасибо большое!

natalii

просто числовая таблица
Оставить комментарий
Имя или ник:
Комментарий: