putc | Programming Place Plus C言語編 標準ライブラリのリファレンス

C言語編 標準ライブラリのリファレンス putc

先頭へ戻る

putc関数

概要 出力ストリームへ1文字出力する。
ヘッダ stdio.h
形式 int putc(int c, FILE* stream);
引数 c 出力する文字。
stream 出力ストリーム。
戻り値 成功すれば、c がそのまま返される。失敗時は EOF が返される。
詳細 マクロとして実装されている可能性があるという点を除くと、fputc関数と同じである。
書き込みエラーが発生した場合は、ストリームのエラー指示子がセットされる。
注意 マクロとして実装されている可能性があるので、putc( c++, fp ); のような、マクロの使用上問題になり得るような使い方をしてはならない。
使用例
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE* fp;

    fp = fopen( "test.txt", "w" );
    if( fp == NULL ){
        fputs( "ファイルオープンに失敗しました。\n", stderr );
        exit( EXIT_FAILURE );
    }

    putc( 'a', fp );
    if( ferror( fp ) ){
        fputs( "書き込み中にエラーが発生しました。\n", stderr );
        exit( EXIT_FAILURE );
    }

    if( fclose( fp ) == EOF ){
        fputs( "ファイルクローズに失敗しました。\n", stderr );
        exit( EXIT_FAILURE );
    }

    return 0;
}

実行結果(標準出力)


実行結果(test.txt)

関連 fputc関数は同じ効果を持つが、必ず関数として実装されている。
標準出力に特化した、putchar関数がある。
puts関数は、その名称からして putc関数の文字列版のようだが、標準出力に特化しているなど、まったく異なるものである。putc関数の文字列版は fputs関数の方であると考えられる。
ワイド文字版の putwc関数がある。
解説章


参考リンク



更新履歴

'2018/4/22 解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。

'2018/4/8 書き込みエラーに関する記述を追加。
「使用例」に、エラーチェックを追加。

'2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


はてなブックマーク Pocket に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS