0
我不得不閱讀文本文件;然而,一個特定的文本文件給我的問題。文本文件不僅很大(整個電子書),而且還有幾個重音字母。我正在閱讀適當的標點符號或空格停止使用一個字母的文字。我通過測試字母和標點符號(如撇號)的適當ASCII來做到這一點。有沒有一種方法可以讀取重音字母,但將它們與其他字母分開?我需要添加任何隨機庫嗎?C++中的文本文件輸入問題
這裏是我的代碼獲得了這個詞:
string GetNextWord(){
string w=""; // used to store each word temporarly
char c; // used for each individual character
int i=0; // a counter
input.get(c); // gets first character
c=tolower(c); // forces c to lowercase
while(c>=97 && c<=122 || c==39){ // loops while the character is a lowercase letter or '
w=w+c; // adds character to word string
input.get(c); // gets next character
c=tolower(c); // forces c to lowercase
++i; // increments counter
}
if(i>0) // if there is a word
return w; // return the word
else // otherwise string is NULL
return "NOT A WORD!"; // returns a flag to main
}
工程上的每個文件,到目前爲止,除了這一個。
您可以在此處看到輸入 - >http://www.gutenberg.org/cache/epub/244/pg244.txt
它適用於帶有數字,標點符號,大小寫字母的文件,到目前爲止重音字母是唯一引起我問題的字母。我同意你的想法,即將進入無限循環。使用namespace std; – 2010-09-17 03:55:16
這對你有幫助嗎? – 2010-09-17 03:57:17
有很多方法來表示重音字母。最有可能的是你看到latin1編碼,這意味着你應該添加'|| (c> = 161 && c <= 255)'到while測試 – MattSmith 2010-09-17 04:18:40