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/

10-11 00:44