putchar(),putch(),fputchar()之间的区别?

Vik*_*rma 6 c

我从书中读到了这些概念,我在互联网上搜索了很多,但没有很好的定义和解释.它只是写在那里putch(),putchar()fputchar()以相同的方式工作,并用于打印字符到控制台,但我认为它们之间肯定有一些不同?

unw*_*ind 6

这个简单的手册页肯定描述了差异,尽管很简洁:

  • fputc()写人物c,强制转换为unsigned char,以流.
  • putc()相当于fputc()除了它可以作为其评估流不止一次的宏来实现.
  • putchar(c)相当于putc(c, stdout).


tro*_*foe 1

这里

int fputc(int c, FILE *stream);

int putc(int c, FILE *stream);

int putchar(int c);
Run Code Online (Sandbox Code Playgroud)

fputc() 函数将字符 c(转换为“unsigned char”)写入到stream 指向的输出流中。

putc() 宏的作用与 fputc() 基本相同,但它是一个内联扩展的宏。它可能会多次评估流,因此传递给 putc() 的参数不应是具有潜在副作用的表达式。

putchar() 函数与 putc() 相同,输出流为 stdout。