【发布时间】:2015-02-22 20:59:58
【问题描述】:
我有一个如下所示的文本文件:
汽车,CN,819481,维修,假,无
汽车,SLSF,46871,商业,真实,孟菲斯
汽车,AOK,156,温柔,真实,旧金山
(逗号实际上是制表符,但我无法让它们在此站点上正确格式化)
我有一个名为 Car 的对象,我正在将代码读入并使用代码底部的输出进行输出。我当前的代码可以读取所有前 5 种数据类型,但是在读取可能有空格的最后一列时遇到问题。我曾尝试使用 getline,但无济于事。
这是我为将 txt 作为输入的函数所拥有的代码
void input()
{
ifstream inputFile;
inputFile.open("input.txt",fstream::in);
if (inputFile.fail())
{
cout<<"input failed"<<endl;
exit(1);
}
string type;
string reportingMark;
int carNumber;
string kind;
bool loaded;
string destination;
while(inputFile.peek() != EOF)
{
inputFile>>type>>reportingMark>>carNumber>>kind>>loaded;
while(inputFile.peek() == ' ')
inputFile.get();
getline(inputFile, destination);
Car temp(reportingMark, carNumber, kind, loaded, destination);
temp.output();
}
inputFile.close();
}
【问题讨论】:
-
您是否尝试过一次读取整行作为字符串,然后解析并提取结果?
标签: c++ types text-files getline