如何忽略「input.txt」中空的第一行?我不一定知道有一個空行(在這種情況下,但是我想讓我的代碼是通用的),所以我需要能夠在有信息的情況下閱讀該行,或者如果有信息則跳過是空白的。這只是第一行。C++忽略空的第一行
while (getline(mcFile, line)) {
istringstream liness2(line); ... }
我就是這樣讀的。如果我確實知道任何輸入文件的第一行都是空的,那麼我會在之前執行「getline」,但我不知道。
如何忽略「input.txt」中空的第一行?我不一定知道有一個空行(在這種情況下,但是我想讓我的代碼是通用的),所以我需要能夠在有信息的情況下閱讀該行,或者如果有信息則跳過是空白的。這只是第一行。C++忽略空的第一行
while (getline(mcFile, line)) {
istringstream liness2(line); ... }
我就是這樣讀的。如果我確實知道任何輸入文件的第一行都是空的,那麼我會在之前執行「getline」,但我不知道。
string data;
while (getline(inputFile, data))
{
if (data == "") continue; // Skip blank line
... // Do stuff with non-blank line
}
但是,如果行只包含空格,製表符等? – mikithskegg 2012-02-14 18:17:01
在檢查數據是否爲空白前,先製作臨時數據副本並解析其中的空白。 – Foggzie 2012-02-14 18:30:27
ifstream ReadFile;
ReadFile.open("input.txt");
string content;
string line;
if (myReadFile.is_open()) {
while (!ReadFile.eof()) {
getline(cin,line);
content += line + '\n';
if (!line.empty()) {
/// do what you want to do
}
}
}
如果您發佈的現有代碼你會得到更好的反應。 – YXD 2012-02-14 18:11:12
也..你應該檢查它是否是第一行,如果它是空白。如果這兩個條件成功,則跳過它... – vmpstr 2012-02-14 18:12:57
'while(getline(mcFile,line)) { istringstream liness2(line); ... }' 我就是這樣讀的。如果我確實知道任何輸入文件的第一行都是空的,那麼我會在之前執行「getline」,但我不知道。 – user1187621 2012-02-14 18:14:07