C 参考手册

位置:首页 > C 参考手册 >文件输入/输出 > putchar

定义于头文件 <stdio.h>
int putchar( int ch );

写字符 chstdout 。在内部,字符于写入前被转换到 unsigned char

等价于 putc(ch, stdout)

参数

ch - 要被写入的字符

返回值

成功时返回写入的字符。

失败时返回 EOF 并设置 stdout 上的错误指示器(见 ferror() )。

示例

putchar带错误检查

#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 = putchar(c);
 
    /* 测试是否抵达 EOF 。 */
    if (ret_code == EOF)
       if (ferror(stdout)) 
       {
          fprintf(stderr,"putchar() failed in file %s at line # %d\n", __FILE__,__LINE__-6);
          perror("putchar()");
          exit(EXIT_FAILURE);
       }
    putchar('\n');
 
    // putchar 返回值不等于参数
    int r = 0x1070;
    printf("\n0x%x\n", r);
    r = putchar(r);
    printf("\n0x%x\n", r);
}

输出:

abcdefghijklmnopqrstuvwxy
 
0x1070
p
0x70

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.21.7.8 The putchar function (p: 333)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.7.9 The putchar function (p: 299)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.7.9 The putchar function

参阅

将一个字符写入文件流
(函数)