我正在使用Standard iostream从文件中获取一些输入,并且我对unget()
与putback(character)
感到困惑。从文档中看来,这些功能实际上是相同的,unget()
仅记住输入的字符,所以我很紧张。我一直使用putback(character)
,但是character
始终是最后读取的字符,我一直在考虑更改为unget()
。如果putback(character)
始终是最后读取的字符,unget()
是否始终与character
相同?
最佳答案
你不能撒谎unget()
。它“弄乱”最后读取的字符。您可以使用putback(c)
说谎。您可以“放回”最后读取的字符以外的其他字符。有时放回最后读取的字符以外的其他字符可能会很有用。
另外,如果基础读取缓冲区确实具有缓冲功能,则可以“回输”多个字符。我认为ungetc()
仅限一个字符。
编辑
不。看来unget()
可以追溯到putback()
。
关于c++ - putback()和unget()之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6769416/