我正在運行自己的C++文本書,作爲C++編程的回顧。其中一個實踐問題(沒有詳細說明)要我定義一個可以通過ifstream或cin(例如istream)作爲參數的函數。從那裏,我必須通過流。麻煩的是,我找不到一種方法讓這個的一個函數使用cin和ifstream來有效地找到流的結尾。即,查找cin&ifstream的流結束符?
while(input_stream.peek() != EOF)
不會爲cin工作。我可以修改函數來查找特定的短語(比如「#End of Stream#」或某物),但是如果我傳遞的文件流具有這個確切短語,我認爲這是一個壞主意。
我曾經想過使用函數重載,但是到目前爲止,本書提到了它希望我這樣做的時候。我可能在這個練習題上付出了太多的努力,但我喜歡這個創造性的過程,並且很好奇,如果有這樣一種方法可以做到這一點而不會超載。
檢查這個問題:http://stackoverflow.com/questions/3197025/end-of-fileeof-of-standard-input -stream-stdin – Archie 2010-08-30 18:23:12