我正在創建一個程序,該程序遵循特定規則來計算給定文本文件中的單詞,音節和句子。getchar()並計算C中的句子和單詞
句子是由空格分隔的單詞的集合,以空格結尾。要麼 !要麼 ? 然而,這也是一個句子:
Greetings, earthlings..
我走近這個程序的方法是通過掃描文本使用的getchar同時提交一個字符()。我被禁止在內存中處理整個文本文件,它一次只能是一個字符或一個字。
這是我的兩難困境:使用getchar()我可以找出當前字符是什麼。我只是在循環中繼續使用getchar(),直到找到EOF字符。但是,如果句子最後有多個句點,它仍然是一個句子。這意味着我需要知道最後一個字符在我分析的那個字符之前是什麼,以及之後的那個字符。通過我的思考,這將意味着另一個getchar()調用,但是當我去掃描下一個字符(它現在跳過一個字符)時會產生問題。
有沒有人有一個建議,我怎麼能確定上述句子,確實是一個句子?
謝謝,如果您需要澄清或其他任何事情,請告訴我。
這實際上是一個好主意,非常感謝。我明白你的意思,我很驚訝,我沒有想到這一點。謝謝! – Blackbinary 2010-02-05 14:08:59
我還建議你閱讀字符塊,不管是按行還是按數量。一般來說,從內存中讀取更快,通常更容易調試(可以看到過去和將來的字母)。 – 2010-02-05 23:24:29