先頭へ戻る

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

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

vwprintf関数

概要

標準出力へ、変換指定に沿って変換されたワイド文字列を出力する。

ヘッダ

wchar.h

形式

int vwprintf(const wchar_t* format, va_list args);

引数

format

変換指定を含んだ、あるいは含まないプレーンな文字列。

args

format に含まれている変換指定子に対応した、可変個引数リスト。

戻り値

正常に終了した場合は、出力した文字数が返される。エラー発生時は負数が返される。

詳細

仮引数が ... から va_list に変わったことを除き、wprintf関数と同等である。
変換指定の詳細については、printf関数を参照。

注意

第2引数に渡す va_list型のオブジェクトは、事前に va_start による初期化が必要である。
va_list に、必要な個数の引数が含まれていない場合の動作は未定義。余分に存在している場合には、評価は行われるが、vwprintf関数としては無視する。

使用例

#include <stdio.h>
#include <stdarg.h>
#include <wchar.h>

static void warning(const wchar_t* str, ...);

int main(void)
{
    int value = 100;

    if( value != 0 ){
        warning( L"value: %d\n", value );
    }

    return 0;
}

void warning(const wchar_t* str, ...)
{
    va_list args;

    va_start( args, str );

    printf( "[WARNING] " );
    vwprintf( str, args );

    va_end( args );
}

実行結果:

[WARNING] value: 100

関連

マルチバイト文字版は vprintf関数である。
任意のストリームへ同様の変換指定を行い出力するには、vfwprintf関数を使う。変換結果を文字の配列に格納するには vswprintf関数が使える。
va_list の代わりに、... を用いたバージョンとして、wprintf関数がある。

解説章

第52章


参考リンク


------------------------------------------------------------------------

更新履歴

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

'2018/2/1 C言語編全体で表記を統一するため、「フォーマット指定」を「変換指定」に改めた。

'2018/1/22 新規作成。


------------------------------------------------------------------------

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

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

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

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー