我从书上读到了这些概念,我也在网上搜索了很多,但没有很好的定义和解释可用。到处都只写着putch(),putchar()和fputchar()以相同的方式工作,用于打印字符到控制台,但我认为他们之间一定有一些不同?
putch()
putchar()
fputchar()
9lowa7mx1#
This simple manual page certainly describes the differences,虽然很简洁:
fputc()
unsigned char
c
putc()
putchar(c)
putc(c, stdout)
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。
hzbexzde3#
putch()来自标准库conio.h,它在Linux As what wiki says上不受支持,C标准未定义它。putchar()来自stdio.h,您可以在Linux上使用它而不会出现任何问题。
conio.h
stdio.h
3条答案
按热度按时间9lowa7mx1#
This simple manual page certainly describes the differences,虽然很简洁:
fputc()
会将转换为unsigned char
的字符c
写入数据流。putc()
等同于fputc()
,除了它可以被实现为对流求值不止一次的宏。putchar(c)
等效于putc(c, stdout)
。pgpifvop2#
从here开始:
函数的作用是:将字符c(转换为'' unsigned char '')写入stream指向的输出流。
putc()宏的作用与fputc()基本相同,但它是一个内嵌扩展的宏。它可能会多次计算stream,因此putc()的参数不应该是具有潜在副作用的表达式。
putchar()函数与putc()相同,输出流为stdout。
hzbexzde3#
putch()
来自标准库conio.h
,它在Linux As what wiki says上不受支持,C标准未定义它。putchar()
来自stdio.h
,您可以在Linux上使用它而不会出现任何问题。