我一次可以從一個文件中讀取一個字符,但是如何讓它每次只讀一個字?所以,閱讀,直到有一個空間,並把它作爲一個字符串。用word讀文件
這讓我的文字:
while (!fin.eof()){
while (fin>> f){
F.push_back (f);
}
我一次可以從一個文件中讀取一個字符,但是如何讓它每次只讀一個字?所以,閱讀,直到有一個空間,並把它作爲一個字符串。用word讀文件
這讓我的文字:
while (!fin.eof()){
while (fin>> f){
F.push_back (f);
}
如果您f
變量是std::string
型和F
是std::vector<std::string>
,那麼你的代碼應該做的正是你想要的東西,讓你與「字」的列表F
載體。我將單詞放在引號中,因爲在單詞末尾的標點符號將包含在輸入中。
換句話說,當目標變量類型是一個字符串時,>>
運算符自動停在空格(或eof)處。
+1,打我吧。 – rcollyer 2010-05-04 18:55:50
試試這個:
std::string word;
while (fin >> word)
{
F.push_back(word);
}
看看這個SO張貼關於字符串標記化:http://stackoverflow.com/questions/53849/how-do-i-tokenize-a-string-in-c – gooch 2010-05-04 18:55:12
fin.eof()表示過去的失敗;它沒有告訴你是否沒有更多的輸入。 – Potatoswatter 2010-05-04 21:40:49