Вектор читает только одну строку из файла .txt Переполнение стека

Я пытаюсь прочитать данные из файла .txt в вектор, но он останавливается после сохранения первой строки.

Это данные, которые я читаю из файла.

0 100 08 00 00
0,182,08 00 15
1,100,08 50 46
1,132,08 51 18

И это код

input.open ("RaceData.txt");
if (input.fail())
{
cout <<"Cannot Open File.\n";
exit(1);
}

int lap(0), racer(0), time(0);
vector <int> data;

while (input >> lap >> racer >> time)
{
data.push_back(lap);
data.push_back(racer);
data.push_back(time);

}

//display
for (int i=0; i < data.size(); i++)
cout << data [i] << " ";

Я думаю, что это может не продолжить чтение из-за запятых, если это так, как мне не читать запятые?

Заранее спасибо.

0

Решение

Лучший способ игнорировать запятые — не игнорировать пробелы. Вот пример:

...
char c;
input >> std::noskipws;
while (input >> lap >> c >> racer >> c >> time >> c)
{
...

В зависимости от того, как вы ожидаете, что формат файла будет, вам может потребоваться изменить выше, чтобы принять несколько пробелов. Надеюсь, это поможет.

0

Другие решения


По вопросам рекламы [email protected]