我想解析一个逐行描述一组数据的文件。每个数据由 3 或 4 个参数组成: int int float(可选)字符串。
我以 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);
似乎有点多余,我怎么能简单呢?