Namespaces
Variants

fputc, putc

ja.cppreference.net から
 
 
ファイル入出力
型とオブジェクト
        
関数
ファイルアクセス
(C95)
書式なし入出力
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

書式付き入力
 
ヘッダ <stdio.h>
int fputc( int ch, FILE* stream );
int putc( int ch, FILE* stream );

で定義されます。 文字 ch を指定された出力ストリーム stream に書き込みます。 putc() はマクロとして実装される場合があり、 stream を複数回評価するため、対応する引数に副作用のある式を使用すべきではありません。

内部では、文字は書き込まれる直前に unsigned char に変換されます。

パラメータ

ch - 書き込まれる文字
stream - 出力ストリーム

戻り値

成功した場合は、書き込まれた文字を返します。

失敗した場合は、 EOF を返し、 エラー 指示子を設定します( ferror() を参照)。ただし、 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 && 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
に書き込む(関数)