我想解析一個文件,它逐行描述一組數據。每個數據由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