fputc, putc

来自cppreference.com
< c‎ | io
 
 
 
定义于头文件 <stdio.h>
int fputc( int ch, FILE *stream );
int putc( int ch, FILE *stream );

写字符ch到给定的输出流streamputc()可以实现为宏且对stream求值超过一次,故对应的参数决不可以是有副效应的表达式。

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

目录

[编辑] 参数

ch - 要被写入的字符
stream - 输出流

[编辑] 返回值

成功时返回写入的字符。

失败时,返回EOF并设置stream错误指示器(见ferror())。

[编辑] 示例

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);
 
    /* 测试是否抵达EOF。 */
    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 standard (ISO/IEC 9899:2011):
  • 7.21.7.3 The fputc function (p: 331)
  • 7.21.7.7 The putc function (p: 333)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.7.3 The fputc function (p: 297)
  • 7.19.7.8 The putc function (p: 299)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.7.3 The fputc function
  • 4.9.7.8 The putc function

[编辑] 参阅

将一个字符写入stdout
(函数) [编辑]
fputc, putcC++ 文档