建議使用 Visual Studio 2017

_cprintf_p、_cprintf_p_l、_cwprintf_p、_cwprintf_p_l

 

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

這會格式化並列印到主控台,且支援格式字串中的位置參數。

System_CAPS_ICON_important.jpg 重要

這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 /ZW 不支援 CRT 函式

int _cprintf_p(   
   const char * format [,   
   argument] ...   
);  
int _cprintf_p_l(   
   const char * format,  
   locale_t locale [,   
   argument] ...   
);  
int _cwprintf_p(  
   const wchar * format [,   
   argument] ...  
);  
int _cwprintf_p_l(  
   const wchar * format,  
   locale_t locale [,  
   argument] ...  
);  

參數

format
格式控制字串。

argument
選擇性參數。

locale
要使用的地區設定。

列印的字元數,或是當發生錯誤時為負值。

這些函式會使用 _putch_putwch 函式來輸出字元,直接格式化並列印一系列的字元和值到主控台中。 每個 argument (如果有的話) 是根據 format中的對應格式規格進行轉換和輸出。 此格式有相同的形式和功能format參數printf_p函式。 _cprintf_pcprintf_s 之間的差異在於 _cprintf_p 支援位置參數,可讓您指定格式字串中使用引數的順序。 如需詳細資訊,請參閱printf_p 位置參數

不同於 fprintf_pprintf_psprintf_p 函式,_cprintf_p_cwprintf_p 在輸出時不會將換行字元轉譯為歸位字元-換行字元 (CR-LF) 組合。 重要的差異在於_cwprintf_p會顯示在 Windows NT 中使用時的 Unicode 字元。 不同於 _cprintf_p_cwprintf_p 會使用目前的主控台地區設定。

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

System_CAPS_ICON_important.jpg 重要

確認 format 不是使用者定義的字串。

並且,如同 _cprintf_s_cwprintf_s,它們會驗證輸入的指標和格式字串。 如果formatargumentNULL,或格式的字串包含無效的格式設定字元,這些函式叫用無效參數處理常式中所述參數驗證。 如果允許繼續執行,這些函式會傳回 -1,並將 errno 設為 EINVAL

一般文字常式對應

Tchar.h 常式未定義 _UNICODE 和 _MBCS_MBCS 已定義_UNICODE 已定義
_tcprintf_p_cprintf_p_cprintf_p_cwprintf_p
_tcprintf_p_l_cprintf_p_l_cprintf_p_l_cwprintf_p_l
常式必要的標頭
_cprintf_p_cprintf_p_l<conio.h>
_cwprintf_p_cwprintf_p_l<conio.h>

如需相容性的詳細資訊,請參閱 Compatibility

// crt_cprintf_p.c  
// This program displays some variables to the console  
// using the _cprintf_p function.  
  
#include <conio.h>  
  
int main( void )  
{  
    int         i = -16,  
                h = 29;  
    unsigned    u = 62511;  
    char        c = 'A';  
    char        s[] = "Test";  
  
    // Note that console output does not translate  
    // \n as standard output does. Use \r\n instead.  
    _cprintf_p( "%2$d  %1$.4x  %3$u  %4$c %5$s\r\n",   
                h, i, u, c, s );  
}  

-16  001d  62511  A Test  

主控台和連接埠 I/O
_cscanf、 _cscanf_l、 _cwscanf、 _cwscanf_l
_cscanf_s、 _cscanf_s_l、 _cwscanf_s、 _cwscanf_s_l
_fprintf_p、 _fprintf_p_l、 _fwprintf_p、 _fwprintf_p_l
fprintf_s、 _fprintf_s_l、 fwprintf_s、 _fwprintf_s_l
_printf_p、 _printf_p_l、 _wprintf_p、 _wprintf_p_l
printf_s、 _printf_s_l、 wprintf_s、 _wprintf_s_l
_sprintf_p、 _sprintf_p_l、 _swprintf_p、 _swprintf_p_l
_vfprintf_p、 _vfprintf_p_l、 _vfwprintf_p、 _vfwprintf_p_l
_cprintf_s、 _cprintf_s_l、 _cwprintf_s、 _cwprintf_s_l
printf_p 位置參數
格式規格語法︰ printf 和 wprintf 函式

顯示: