У меня есть текстовый файл с именем 'sample.txt' с данными вида
1.0
2.1
abc
4.2
Я хотел бы извлечь числа 1.0, 2.1, 4.2 из txt-файла и игнорировать строку 'abc'.
Прежде чем извлекать данные, я хотел бы сначала точно подсчитать, сколько чисел содержится в текстовом файле.
Потому что я хочу извлечь числа в динамический массив, и мне нужно знать, какой размер массива создать в первую очередь.
Мой код для подсчета количества чисел в текстовом файле:
ifstream myfile;
myfile.open ("sample.txt");
int dataCount = 0; // to count number of numbers
while (!myfile.eof())
{
double x;
myfile >> x;
if (myfile.fail()) // no extraction took place
{
myfile.clear();
myfile.ignore(numeric_limits<streamsize>::max(), '\n');
continue; // do nothing and start reading next data
}
// Count up if x successfully extracted
dataCount++;
}
Итак, я закончил подсчет числа, но в myfile ifstream для меня ничего не осталосьизвлекать.Можно ли в любом случае считать числа, не извлекая ничего из myfile ifstream?
Это для школьного задания, где мне не разрешено использовать вектор.