我正在运行自己的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