我想解析一个文件,它逐行描述一组数据。每个数据由3或4个参数组成:int int float(可选)string。C++解析文件中的行为流
我打开文件作为ifstream的INFILE和while循环
while (inFile) {
string line;
getline(inFile,line);
istringstream iss(line);
char strInput[256];
iss >> strInput;
int i = atoi(strInput);
iss >> strInput;
int j = atoi(strInput);
iss >> strInput;
float k = atoi(strInput);
iss >> strInput;
cout << i << j << k << strInput << endl;*/
}
的问题是,最后一个参数是可选的使用它,所以我可能会遇到错误时,它不存在。我如何预先检查每个数据有多少个参数?
此外,
string line;
getline(inFile,line);
istringstream iss(line);
似乎有点reduldant,我怎么可能simplyfiy呢?
你是什么意思“可能”遇到错误? – Borgleader
例如,如果我得到像 223 243 66.579第一条街道,我的版本不会解析街道 –
我想知道可能,它似乎意味着你没有运行的代码,只是认为它不会正常工作。 – Borgleader