Namespaces
Variants

fputc, putc

From cppreference.net
< c ‎ | io
ヘッダーで定義 <stdio.h>
int fputc ( int ch, FILE * stream ) ;
int putc ( int ch, FILE * stream ) ;

指定された出力ストリーム stream に文字 ch を書き込みます。 putc ( ) はマクロとして実装されている可能性があり、 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);
    // Test whether EOF was reached.
    if (ret_code == EOF && 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

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.21.7.3 fputc関数 (p: TBD)
  • 7.21.7.7 putc関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.21.7.3 fputc関数 (p: TBD)
  • 7.21.7.7 putc関数 (p: TBD)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.21.7.3 fputc関数 (p: 331)
  • 7.21.7.7 putc関数 (p: 333)
  • C99標準(ISO/IEC 9899:1999):
  • 7.19.7.3 fputc関数(p: 297)
  • 7.19.7.8 putc関数(p: 299)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.9.7.3 fputc関数
  • 4.9.7.8 putc関数

関連項目

文字を stdout に書き込む
(関数)
C++ documentation for fputc , putc