gpt4 book ai didi

c++ - putc 和 ungetc 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 23:31:19 26 4
gpt4 key购买 nike

int ungetc(int c, FILE *fp) 将字符 c 推回 fp,并返回 c 或 EOF 作为错误。

where as int putc(int c, FILE *fp) 将字符 c 写入文件 fp 并返回写入的字符,或 EOF 表示错误。

//这些是来自K&R的声明。我发现自己很困惑,因为 putc() 可以在 getc 之后使用,并且可以用作 ungetc。那么专门定义ungetc()有什么用。

最佳答案

putc 将一些内容写入输出,因此它会出现在屏幕上或您已将输出重定向到的文件中。

ungetc 将一些东西放回输入 缓冲区,所以下次调用 getc(或 fgetc等)这就是你会得到的。

您通常使用putc 来写入输出。您通常在读取输入时使用 ungetc ,并且您知道自己已经到达某物结尾的唯一方法是当您读取一个不能成为当前“某物”的一部分的字符时.例如,您正在读取和转换一个整数,您会继续读取数字以外的内容 - 然后您 ungetc 将要处理的非数字字符作为来自流的下一个内容进行处理。

关于c++ - putc 和 ungetc 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6079785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com