(ungetc(getc(in), in) != EOF) 意味着..?

Pet*_*ter 0 c

浏览一些不属于我的旧代码,我遇到了这一行:

if (ungetc(getc(in), in) != EOF) 
Run Code Online (Sandbox Code Playgroud)

in文件指针在哪里。

我不熟悉这些功能及其用途。

我是否正确地解释了这一点(尚未到达文件末尾)?

Lun*_*din 5

它“窥视”流in以查找 EOF,而不从缓冲区中删除字符。或者更确切地说,它抓取一个角色然后将其放回去。

我是否正确地解释了这一点(尚未到达文件末尾)?

是的。

  • 重要的是要知道“ungetc(EOF, in)”不会将任何内容推回流“in”,而是返回“EOF”。 (4认同)