C语言中fputc和putc函数的用法和作用是一样的吗?

来源:百度知道 编辑:UC知道 时间:2024/09/24 06:32:59
C语言中fputc和putc函数的用法和作用是一样的吗?
还有fgetc和getc函数也是一样的?
为什么要有两套?
我在STDIO.H中找到了这样的定义:
#define getc(f) \
((--((f)->level) >= 0) ? (unsigned char)(++(f)->curp)[-1] : \
_fgetc (f))
#define putc(c,f) \
((++((f)->level) < 0) ? (unsigned char)((++(f)->curp)[-1]=(c)) : \
_fputc ((c),f))
谁能结合以上问题给解释一下,不胜感激~!!!

都不一样的。不然干吗写两个函数呢!

函数名带有f的,是从文件中读取,否则从终端读取。

考虑到标准输入输出重定向的原因,这里设计了两套函数。

一样的...
一般用fgetc或者fputc...

一样的.
从终端输入输出的是putchar()和getchar

f开头的是对文件操作的函数。
fputc是要接文件指针的

putc相当于将文件指针(stdout)固化在函数里面了,所以只对终端操作。