Я пытаюсь прочитать данные из файла .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] << " ";
Я думаю, что это может не продолжить чтение из-за запятых, если это так, как мне не читать запятые?
Заранее спасибо.
Лучший способ игнорировать запятые — не игнорировать пробелы. Вот пример:
...
char c;
input >> std::noskipws;
while (input >> lap >> c >> racer >> c >> time >> c)
{
...
В зависимости от того, как вы ожидаете, что формат файла будет, вам может потребоваться изменить выше, чтобы принять несколько пробелов. Надеюсь, это поможет.