В продолжение предыдущей темы.
Есть файл вида
4 45 54 43
456 45 545 45
66 65 76
544 546
45
Из него требуется получить 2 массива: массив с числами первого столбца не пустых строк и массив массивов последующих за ними чисел. То есть тут выйдет так:
{4, 456, 66, 544, 45}
{
{45, 54, 43},
{45, 545, 45},
{65, 76},
{546},
{}
}
#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
using namespace std;
int main() {
ifstream txtInput("input.txt", fstream::in);
int lineNum = 0;
while (!txtInput.eof()) {
istringstream fullLine;
string tmpTxtLine;
getline(txtInput, tmpTxtLine);
++lineNum;
fullLine.str(tmpTxtLine);
while (fullLine.good()) {
//тут будем заполнять массив, но пока что (временно) просто показываем по одному числу
double x;
fullLine >> x;
cout << x << " ";
}
cout << endl;
}
}
Для упомянутого выше файла вывод такой:
4 45 54 43
456 45 545 45
66 65 76
76
544 546
45
45
В конце лишнее число. Почему? Как делать лучше?