C++官网参考链接:https://cplusplus.com/reference/cstdio/ungetc/
函数
<cstdio>
ungetc
int ungetc ( int character, FILE * stream );
从流中放回字符
character实际上被放回输入stream中,降低了其内部文件位置,就像之前的getc操作被撤消了一样。
此character可能是也可能不是在前面的输入操作中从stream中读取的字符。在任何情况下,从stream中获取到的下一个字符都是传递给这个函数的character,独立于原来的字符。
但是请注意,这只影响该stream上的进一步输入操作,而不影响与之关联的物理文件的内容,对该函数的任何调用都不会修改该内容。
有些库实现可能支持多次调用这个函数,使字符以相反的放置顺序可用。尽管这种行为没有标准的可移植性保证,并且在第一次调用之后的任何数量的调用都可能失败。
如果成功,该函数将清除stream的文件结束指示符(如果当前设置了该指示符),如果以二进制模式操作,则将降低其内部文件位置指示符;在文本模式中,位置指示符的值是未指定的,直到所有使用ungetc放回的character都被读取或丢弃。
在<

C++的ungetc函数允许将字符放回输入流,撤销之前的getc操作。它不影响物理文件内容,仅影响后续的输入操作。成功时返回放回的字符,失败则返回EOF。示例程序展示如何打开文件,读取行并将特定字符放回,如将#替换为@。
1634

被折叠的 条评论
为什么被折叠?



