【问题标题】:Is there a C++ version of ungetc?是否有 ungetc 的 C++ 版本?
【发布时间】:2011-10-18 09:46:23
【问题描述】:

是否有 C++ 版本的 ungetc?

也就是说,我可以将一个字符放回 istream 吗?

【问题讨论】:

    标签: c++ io iostream undo ungetc


    【解决方案1】:

    是的。 istream::putback 与 ungetc except if using unget() 相同:

    你不能对 unget() 撒谎。它“取消”最后读取的字符。你 可以用 putback(c) 说谎。您可以“放回”某些字符,而不是 最后读取的字符。有时放回一个角色 最后读取的字符可能很有用。

    另外,如果底层读取缓冲区确实有缓冲 能力,你可以“放回”多个角色。我想 ungetc() 仅限于一个字符。

    【讨论】:

    • istream::unget 不是ungetc。你可以和ungetc说谎。
    • @Martinho:那只是putback
    【解决方案2】:

    您可以使用istream::putback 函数放回一个字符。如果你愿意,你甚至可以放置一个不同的角色。

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 2014-05-25
      • 2011-05-07
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      相关资源
      最近更新 更多