次の方法で共有


_vscprintf_p、_vscprintf_p_l、_vscwprintf_p、_vscwprintf_p_l

引数一覧へのポインターを使用して書式指定された文字列の文字数を返します。その際に引数を使用する順序を指定できます。

int _vscprintf_p(
   const char *format,
   va_list argptr 
);
int _vscprintf_p _l(
   const char *format,
   locale_t locale,
   va_list argptr 
);
int _vscwprintf_p (
   const wchar_t *format,
   va_list argptr 
);
int _vscwprintf_p _l(
   const wchar_t *format,
   locale_t locale,
   va_list argptr 
);

パラメーター

  • format
    書式指定文字列。

  • argptr
    引数リストへのポインター。

  • locale
    使用するロケール。

詳細については、「scanf 関数と wscanf 関数の書式指定フィールド」を参照してください。

戻り値

_vscprintf_p 関数は、引数リストが指す文字列が、指定の書式化コードを使用して出力されるか、またはファイルやバッファーに送信された場合に生成される文字数を返します。返される値には、終端の NULL 文字は含まれません。ワイド文字の場合は、_vscwprintf_p が同じ機能を実行します。

解説

これらの関数は、引数を使用する順序を指定できることを除いて _vscprintf と _vscwprintf と同じです。詳細については、「printf_p の位置指定パラメーター」を参照してください。

これらの関数のうち _l サフィックスが付けられたバージョンは、現在のスレッド ロケールの代わりに渡されたロケール パラメーターを使用する点を除いて同じです。

format が null ポインターの場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。実行の継続が許可された場合、関数は -1 を返し、errno を EINVAL に設定します。

セキュリティに関するメモセキュリティに関するメモ

format がユーザー定義文字列の場合は、終端が null で、正しい数と型のパラメーターが含まれていることを必ず確認してください。詳細については、「Avoiding Buffer Overruns」を参照してください。

汎用テキスト ルーチンのマップ

TCHAR.H のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_vsctprintf_p

_vscprintf_p

_vscprintf_p

_vscwprintf_p

_vsctprintf_p_l

_vscprintf_p_l

_vscprintf_p_l

_vscwprintf_p_l

必要条件

ルーチン

必須ヘッダー

_vscprintf_p, _vscprintf_p_l

<stdio.h>

_vscwprintf_p, _vscwprintf_p_l

<stdio.h> または <wchar.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

vsprintf」の例を参照してください。

参照

関連項目

vprintf 系関数

_scprintf_p、_scprintf_p_l、_scwprintf_p、_scwprintf_p_l

_vscprintf、_vscprintf_l、_vscwprintf、_vscwprintf_l