putc

fputc, putc

在头文件中定义
int fputc(int ch,FILE * stream);
int putc(int ch,FILE * stream);

将字符写入ch给定的输出流streamputc()可能被实现为一个宏并且stream不止一次地进行评估,所以相应的参数不应该是带有副作用的表达式。

在内部,字符unsigned char在被写入之前被转换。

参数

CH-字符被写入
-输出流

Return value

成功时,返回书面字符。

On failure, returns EOF and sets the error indicator (see ferror()) on stream.

带有错误检查的putc。

#include <stdio.h> #include <stdlib.h> int main(void) { int ret_code = 0; for (char c = 'a'; (ret_code != EOF) && (c != 'z' c++) ret_code = putc(c, stdout /* Test whether EOF was reached. */ if (ret_code == EOF) if (ferror(stdout)) { perror("putc()" fprintf(stderr,"putc() failed in file %s at line # %d\n", __FILE__,__LINE__-7 exit(EXIT_FAILURE } putc('\n', stdout return EXIT_SUCCESS; }

输出:

abcdefghijklmnopqrstuvwxy

参考

  • C11标准(ISO / IEC 9899:2011):