C++讀字和行,我明白如何尋找並從文本文件中讀取單詞。我也理解你如何使用getline()來瀏覽文本並閱讀某一行。在同一個閱讀循環
但現在我試圖找出如何在相同的「閱讀圈」同時使用。
這將是這樣的:
string S1="mysearchword01",S2="mysearchword02";
char word[50];
while(myfile.good()){ //while didn't reach the end line
file>>word; //go to next word
if (word==S1){ //if i find S1 I cout the two next words
file>>a>>b;
cout<<a<<" "<<b<<endl;}
}
else if (word==S2) {
//****here I want to cout or save the full line*****
}
}
所以我可以用函數getline在那裏不知何故?
在此先感謝。
'而(myfile.good())'這是錯誤的。它將在空文件上返回true。要讀取一行,請使用'string line; while(getline(myfile,line)){..}' – 2015-02-24 12:31:19
while(myfile.good())正在爲我工作。如果我在沒有「else if」的情況下使用該代碼,它將逐字查找我的文本文件S1。如果它發現它會調出下兩個單詞。然後while循環在文件結束時停止。 – remi000 2015-02-24 12:34:24
字應該是一個字符,而不是字符串,將編輯。 – remi000 2015-02-24 12:37:02