我从书中阅读了这些概念,并在互联网上进行了很多搜索,但没有很好的定义和解释。到处都是这样写的putch()
,putchar()
并且fputchar()
以相同的方式工作并用于将字符打印到控制台,但我认为它们之间一定有一些不同?
问问题
21510 次
3 回答
6
这个简单的手册页当然描述了差异,尽管很简洁:
fputc()
将字符c
, 转换为unsigned char
, 写入流。putc()
等效于fputc()
除了它可以实现为不止一次评估流的宏。putchar(c)
相当于putc(c, stdout)
。
于 2013-11-14T15:45:31.623 回答
1
从这里:
int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
fputc() 函数将字符 c(转换为“无符号字符”)写入 stream 指向的输出流。
putc() 宏的作用与 fputc() 基本相同,但它是一个内联扩展的宏。它可能会多次评估流,因此提供给 putc() 的参数不应是具有潜在副作用的表达式。
putchar() 函数与具有 stdout 输出流的 putc() 相同。
于 2013-11-14T15:45:20.223 回答
0
putch
来自标准库conio.h
,在 Linux 上不受支持正如 wiki 所说,它不是由 C 标准定义的。
putchar
来自stdio.
h,您可以在 Linux 上毫无问题地使用它。
于 2013-11-14T15:49:21.237 回答