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

roejwanj  于 2022-12-02  发布在  其他
关注(0)|答案(3)|浏览(133)

我从书上读到了这些概念,我也在网上搜索了很多,但没有很好的定义和解释可用。到处都只写着putch()putchar()fputchar()以相同的方式工作,用于打印字符到控制台,但我认为他们之间一定有一些不同?

9lowa7mx

9lowa7mx1#

This simple manual page certainly describes the differences,虽然很简洁:

  • fputc()会将转换为unsigned char的字符c写入数据流。
  • putc()等同于fputc(),除了它可以被实现为对流求值不止一次的宏。
  • putchar(c)等效于putc(c, stdout)
pgpifvop

pgpifvop2#

here开始:

int fputc(int c, FILE *stream);

int putc(int c, FILE *stream);

int putchar(int c);

函数的作用是:将字符c(转换为'' unsigned char '')写入stream指向的输出流。
putc()宏的作用与fputc()基本相同,但它是一个内嵌扩展的宏。它可能会多次计算stream,因此putc()的参数不应该是具有潜在副作用的表达式。
putchar()函数与putc()相同,输出流为stdout。

hzbexzde

hzbexzde3#

putch()来自标准库conio.h,它在Linux As what wiki says上不受支持,C标准未定义它。
putchar()来自stdio.h,您可以在Linux上使用它而不会出现任何问题。

相关问题