【发布时间】:2015-09-11 18:54:07
【问题描述】:
我试图将 .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] << " ";
我认为它可能因为逗号而无法继续阅读,如果是这样,我如何不阅读逗号?
提前致谢。
【问题讨论】:
-
您想要阅读或至少跳过逗号。你没有提取它们是的问题。我认为您应该将整行读入一个字符串,然后单独解析它。
-
您的文件格式似乎不一致。为什么第一行没有逗号,而后面的都是逗号?如果您希望能够解析您读取的文件,则需要它具有一致的格式。
-
@bku_drytt 我正在使用的书中书中的示例含糊不清。我使用了给出的数据,但我认为它应该没有任何逗号,因为在我去掉所有逗号后,数据就可以很好地存储在向量中了。
标签: c++ file-io vector storing-data