建議使用 Visual Studio 2017

vprintf、_vprintf_l、vwprintf、_vwprintf_l

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

將格式化的輸出寫入使用的引數清單的指標。 這些函式更安全的版本可供使用,請參閱vprintf_s、 _vprintf_s_l、 vwprintf_s、 _vwprintf_s_l

int vprintf(  
   const char *format,  
   va_list argptr   
);  
int _vprintf_l(  
   const char *format,  
   locale_t locale,  
   va_list argptr   
);  
int vwprintf(  
   const wchar_t *format,  
   va_list argptr   
);  
int _vwprintf_l(  
   const wchar_t *format,  
   locale_t locale,  
   va_list argptr   
);  

參數

format
格式規格。

argptr
引數清單的指標。

locale
要使用的地區設定。

如需詳細資訊,請參閱 格式規格

vprintfvwprintf傳回寫入的字元數目,輸出錯誤發生時,不包括結束的 null 字元或負數值。 如果format是 null 指標,或如果格式字串包含無效的格式字元、 無效參數處理常式叫用時,所述參數驗證。 若允許繼續執行,函式會傳回 -1,並將 errno 設為 EINVAL

如需這些和其他錯誤碼的資訊,請參閱_doserrno,errno,_sys_errlist 和 _sys_nerr

這些函式會採用的指標引數清單,然後格式化並寫入至指定的資料stdout

vwprintf是寬字元版本的vprintf; 兩個函式的 ANSI 模式開啟資料流時,如果相同行為。 vprintf目前不支援輸出成 UNICODE 資料流。

這些有 _l 尾碼的函式版本是一樣的,不同之處在於會使用傳入的地區設定,而不使用目前的執行緒地區設定。

System_CAPS_ICON_important.jpg 重要

確認 format 不是使用者定義的字串。 如需詳細資訊,請參閱 Avoiding Buffer Overruns (避免緩衝區滿溢)。 請注意,偵測到無效的格式字串,並產生錯誤。

一般文字常式對應

TCHAR.H 常式未定義 _UNICODE 和 _MBCS_MBCS 已定義_UNICODE 已定義
_vtprintfvprintfvprintfvwprintf
_vtprintf_l_vprintf_l_vprintf_l_vwprintf_l
常式必要的標頭選擇性標頭
vprintf, _vprintf_l<stdio.h> 及 <stdarg.h><varargs.h>*
vwprintf, _vwprintf_l<stdio.h> 或 <wchar.h> 及 <stdarg.h><varargs.h>*

*所需的 UNIX V 相容性。

Windows 8.x 市集 應用程式不支援主控台。 與主控台 (stdinstdoutstderr) 關聯的標準資料流控制代碼必須重新導向,之後 C 執行階段函式才能在 Windows 8.x 市集 應用程式中使用它們。 如需其他相容性資訊,請參閱 相容性

System::Console::Write

資料流 I/O
vprintf 函式
fprintf、 _fprintf_l、 fwprintf、 _fwprintf_l
printf、 _printf_l、 wprintf、 _wprintf_l
sprintf、 _sprintf_l、 swprintf、 _swprintf_l、 __swprintf_l
va_arg、 va_copy、 va_end、 va_start

顯示: