vfprintf、_vfprintf_l、vfwprintf、_vfwprintf_lvfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l

引数リストへのポインターを使用して、書式付き出力を書き込みます。Write formatted output using a pointer to a list of arguments. これらの関数のセキュリティを強化したバージョンを使用できます。「vfprintf_s、_vfprintf_s_l、vfwprintf_s、_vfwprintf_s_l」を参照してください。More secure versions of these functions exist; see vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l.

構文Syntax

int vfprintf(
   FILE *stream,
   const char *format,
   va_list argptr
);
int _vfprintf_l(
   FILE *stream,
   const char *format,
   locale_t locale,
   va_list argptr
);
int vfwprintf(
   FILE *stream,
   const wchar_t *format,
   va_list argptr
);
int _vfwprintf_l(
   FILE *stream,
   const wchar_t *format,
   locale_t locale,
   va_list argptr
);

パラメーターParameters

一連stream
FILE 構造体へのポインター。Pointer to FILE structure.

formatformat
書式の指定。Format specification.

argptrargptr
引数リストへのポインター。Pointer to list of arguments.

localelocale
使用するロケール。The locale to use.

詳細については、「 printf 関数と wprintf 関数の書式指定フィールド」を参照してください。For more information, see Format Specifications.

戻り値Return Value

vfprintfvfwprintfは、書き込まれた文字数を返します。終端の null 文字は含まれません。出力エラーが発生した場合は、負の値が返されます。vfprintf and vfwprintf return the number of characters written, not including the terminating null character, or a negative value if an output error occurs. ストリームまたは形式のいずれかが null ポインターの場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If either stream or format is a null pointer, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、これらの関数は-1 を返し、 errnoEINVALに設定します。If execution is allowed to continue, the functions return -1 and set errno to EINVAL.

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、_sys_nerr」をご覧ください。For information on these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

RemarksRemarks

これらの各関数は、引数リストへのポインターを受け取り、指定されたデータを書式設定してストリームに書き込みます。Each of these functions takes a pointer to an argument list, then formats and writes the given data to stream.

vfwprintfは、 vfprintfのワイド文字バージョンです。ストリームが ANSI モードで開かれている場合、2つの関数の動作は同じになります。vfwprintf is the wide-character version of vfprintf; the two functions behave identically if the stream is opened in ANSI mode. vfprintfは、現在 UNICODE ストリームへの出力をサポートしていません。vfprintf doesn't currently support output into a UNICODE stream.

_Lサフィックスを持つこれらの関数のバージョンは、現在のスレッドロケールの代わりに渡されたロケールパラメーターを使用する点を除いて同じです。The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current thread locale.

重要

format にユーザー定義の文字列を指定しないでください。Ensure that format is not a user-defined string. 詳しくは、「 バッファー オーバーランの回避」をご覧ください。For more information, see Avoiding Buffer Overruns.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_vftprintf_vftprintf vfprintfvfprintf vfprintfvfprintf vfwprintfvfwprintf
_vftprintf_l_vftprintf_l _vfprintf_l_vfprintf_l _vfprintf_l_vfprintf_l _vfwprintf_l_vfwprintf_l

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header 省略可能なヘッダーOptional headers
vfprintf_vfprintf_lvfprintf, _vfprintf_l <stdio.h> および <stdarg.h><stdio.h> and <stdarg.h> <varargs.h>*<varargs.h>*
vfwprintf_vfwprintf_lvfwprintf, _vfwprintf_l <stdio.h> または <wchar.h>、および <stdarg.h><stdio.h> or <wchar.h>, and <stdarg.h> <varargs.h>*<varargs.h>*

* UNIX V との互換性用。* Required for UNIX V compatibility.

互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.

関連項目See also

ストリーム入出力Stream I/O
vprintf 系関数vprintf Functions
fprintf、_fprintf_l、fwprintf、_fwprintf_lfprintf, _fprintf_l, fwprintf, _fwprintf_l
printf、_printf_l、wprintf、_wprintf_lprintf, _printf_l, wprintf, _wprintf_l
sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_lsprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
va_arg、va_copy、va_end、va_startva_arg, va_copy, va_end, va_start