日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
vfwprintf |
ワイド文字書式文字列の制御下で,ストリームに出力を書き込みます。
#include <wchar.h>int vfwprintf (FILE *stream, const wchar_t *format, va_list ap);
stream
ファイル・ポインタ。format
書式指定を含んだワイド文字列へのポインタ。書式指定および変換指定とそれぞれに対応する引数の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。ap
出力に必要な項目の可変リスト。
vfwprintf関数は, fwprintf関数の可変引数リストを ap 引数に置き換えたものです。 ap の初期化は, <stdarg.h>の va_startマクロ ( また,おそらくはその後の va_arg呼び出し ) を使って行います。stream がポイントするストリームが向きを持っていなかった場合, vfwprintfはストリームをワイド向きにします。
fwprintfも参照してください。
n 書き込まれたワイド文字の数。 負の値 エラーを示します。関数は errno を以下のいずれかに設定します。
- EILSEQ---無効な文字を検出した。
- EINVAL---引数が足りなかった。
- ENOMEM---変換のために利用できるメモリが足りなかった。
- ERANGE---浮動小数点計算のオーバフロー。
- EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno に OpenVMS エラー・コードが含まれている。オーバフローのために数値への変換が失敗した可能性がある。
また,関数は I/O サブシステムから返されたエラーの結果として, errno を以下の値に設定することもあります。
- EBADF---ファイル記述子が有効でない。
- EIO---I/O エラー。
- ENOSPC---ファイルを含んでいるデバイス上に空きスペースがない。
- ENXIO---デバイスが存在しない。
- EPIPE---パイプが破壊されている。
- ESPIPE---追加用にオープンされたファイル内での不正なシーク。
- EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno に OpenVMS エラー・コードが含まれている。等価な C エラー・コードがない I/O エラーが発生した可能性がある。
次の例は,一般的なエラー報告ルーチンにおける vfwprintf関数の使用例を示しています。
#include <stdarg.h> #include <stdio.h> #include <wchar.h> void error(char *function_name, wchar_t *format, ...); { va_list args; va_start(args, format); /* print out name of function causing error */ fwprintf(stderr, L"ERROR in %s: ", function_name); /* print out remainder of message */ vfwprintf(stderr, format, args); va_end(args); }
目次 | 索引 |
|