_printf_p、_printf_p_l、_wprintf_p、_wprintf_p_l
印刷はパラメーターがファイル形式の文字列で使用する順序を指定できます。の標準出力ストリームに出力書式を設定します。
int _printf_p(
const char *format [,
argument]...
);
int _printf_p_l(
const char *format,
locale_t locale [,
argument]...
);
int _wprintf_p(
const wchar_t *format [,
argument]...
);
int _wprintf_p_l(
const wchar_t *format,
locale_t locale [,
argument]...
);
パラメーター
format
書式指定文字列。argument
省略可能な引数。locale
使用するロケール。
戻り値
エラーが発生した場合、印刷される文字または負の値の数を返します。
解説
_printf_p関数は標準出力ストリームに一連の文字と値の書式を設定 stdout、出力します。引数が format の文字列に従うと、format の文字列は、引数の出力ファイル形式を指定する必要があります (printf_p の位置指定パラメーターを参照)。
引数がファイル形式の文字列で使用する順序を指定できます。_printf_pを割り当てると printf_sの違いは _printf_pは、位置指定パラメーターをサポートすることです。詳細については、「printf_p の位置指定パラメーター」を参照してください。
_wprintf_p は _printf_pのワイド文字バージョンです; また、ストリームが ANSI モードで開いている場合、動作は同じです。_printf_p では、UNICODE ストリームへの出力はサポートされていません。
これらの関数のうち _l サフィックスが付けられたバージョンは、現在のスレッド ロケールの代わりに渡されたロケール パラメーターを使用する点を除いて同じです。
セキュリティに関するメモ |
---|
format にユーザー定義の文字列を指定しないでください。 |
format か argument がファイル形式の文字列の NULLであるか、または無効な書式指定文字が含まれている場合、_printf_p と _wprintf_p 関数は パラメーターの検証に説明されているように、無効なパラメーター ハンドラーが実行されます。実行の継続が許可された場合、この関数は -1 を返し、errno を EINVAL に設定します。
汎用テキスト ルーチンのマップ
Tchar.h のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_tprintf_p |
_printf_p |
_printf_p |
_wprintf_p |
_tprintf_p_l |
_printf_p_l |
_printf_p_l |
_wprintf_p_l |
必要条件
ルーチン |
必須ヘッダー |
---|---|
_printf_p, _printf_p_l |
<stdio.h> |
_wprintf_p, _wprintf_p_l |
<stdio.h> または <wchar.h> |
コンソールは Windows ストア の apps ではサポートされていません。コンソール、stdin、stdout、および stderrに関連付けられている標準ストリームのハンドルは C のランタイム関数が Windows ストア の apps で使用する前にをリダイレクトする必要があります。互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// crt_printf_p.c
// This program uses the _printf_p and _wprintf_p
// functions to choose the order in which parameters
// are used.
#include <stdio.h>
int main( void )
{
// Positional arguments
_printf_p( "Specifying the order: %2$s %3$s %1$s %4$s %5$s.\n",
"little", "I'm", "a", "tea", "pot");
// Resume arguments
_wprintf_p( L"Reusing arguments: %1$d %1$d %1$d %1$d\n", 10);
// Width argument
_printf_p("Width specifiers: %1$*2$s", "Hello\n", 10);
}
同等の .NET Framework 関数
参照
関連項目
_fprintf_p、_fprintf_p_l、_fwprintf_p、_fwprintf_p_l
fprintf、_fprintf_l、fwprintf、_fwprintf_l
fprintf_s、_fprintf_s_l、fwprintf_s、_fwprintf_s_l
scanf、_scanf_l、wscanf、_wscanf_l
scanf_s、_scanf_s_l、wscanf_s、_wscanf_s_l
_sprintf_p、_sprintf_p_l、_swprintf_p、_swprintf_p_l
sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_l