在下面的代碼我不能使用std::string
類。如何跳過空行不串班
我試圖讀取一個空行的文件,我想,當我遇到他們忽略空行。
我已經測試了用一個簡單的例子,幷包含空行一個虛構的文本文件中的一些想法。
int main() {
ifstream fin;
fin.open("test.txt");
if(fin.fail()){
cout << "Input file fail.";
exit(-1);
}
char line[10];
while(!fin.eof()){
fin.getline(line, 10);
if(line[0] == '\n')
cout << "skip" << "\n";
else
cout << line << "\n";
}
}
我也嘗試之類的東西strlen(line) == 1
,但沒有到目前爲止的工作。
什麼問題?
請參閱[爲什麼iostream :: eof在循環條件內被認爲是錯誤的?](http://stackoverflow.com/q/5605125/2069064) – Barry
'std :: getline()'丟棄了分隔符,這解釋了爲什麼你的解決方案都無法運作。 –
*我們不允許使用String類* - 所以還不如叫你的課程* C編程*而不是* C++編程*。 – PaulMcKenzie