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
编码为下一个来自流的内容。
关于c++ - putc和ungetc有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6079785/