我从书中阅读了这些概念,并在互联网上进行了很多搜索,但没有很好的定义和解释。到处都是这样写的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 回答