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

先頭へ戻る

putwc関数

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

int main(void)
{
    FILE* fp;

    /* 以下の fopen関数の第2引数は、VisualStudio 2015/2017 の機能を使っている。
       「, ccs=***」のような表記によって、開かれたストリームに入出力するデータを、
       そのエンコーディング形式で変換する。
    */

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

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

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

    return 0;
}

実行結果(標準出力)


実行結果(test.txt)

関連 マルチバイト文字版は、putc関数である。
fputwc関数は同じ効果を持つが、必ず関数として実装されている。
標準出力に特化した、putwchar関数がある。
文字列版は putws関数のように思えるが、そのような関数は存在しない。fputws関数を使う。
解説章


参考リンク

更新履歴

'2018/4/12 全体的に文章を見直し修正。

'2018/1/22 新規作成。





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

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

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

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS