int ungetc(int c, FILE *fp)
将字符c推回fp,并返回c或EOF
以查找错误。
其中int putc(int c, FILE *fp)
将字符c写入文件fp并返回写入的字符,或返回错误的EOF
。
//这些是K&R的陈述。 我发现自己很困惑,因为putc()
可以在getc
之后使用,并且可以作为ungetc
工作。 那么具体定义ungetc()
的用法是什么。
putc
写入要输出的内容,因此它出现在屏幕上或您重定向输出的文件中。
ungetc
将一些东西放回输入缓冲区,所以下次你调用getc
(或fgetc
等)就是你得到的东西。
您通常使用putc
来写输出。 你通常在阅读输入时使用ungetc
,而你知道自己已经达到某种结果的唯一方法就是当你读到一个不能成为当前“某事”一部分的角色时。 例如,你正在阅读并转换一个整数,你继续阅读,直到你读到一个数字以外的东西 – 然后你将ungetc
那个非数字字符作为来自流的下一个东西来处理。
ungetc适用于打开读取的流,不会修改原始文件。 putc适用于为写入而打开的流,并实际将字节写入文件。
如果你在流fp
上执行ungetc
,然后再次执行getc
,则会返回刚刚放入的相同角色。如果你执行了putc
则“流移动”,随后的getc
将获得后面的内容,如果有什么… getc
和ungetc
用于“向前看”并在处理字符时有一些特殊情况将其放回去
以上就是c/c++开发分享putc和ungetc有什么区别?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/559601.html