_cprintf、_cprintf_l、_cwprintf、_cwprintf_l
格式化並列印至主控台。 可用更安全的版本;請參閱 _cprintf_s、_cprintf_s_l、_cwprintf_s、_cwprintf_s_l。
重要
這個應用程式開發介面不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 /ZW 不支援 CRT 函式。
int _cprintf(
const char * format [,
argument] ...
);
int _cprintf_l(
const char * format,
locale_t locale [,
argument] …
);
int _cwprintf(
const wchar * format [,
argument] …
);
int _cwprintf_l(
const wchar * format,
locale_t locale [,
argument] …
);
參數
format
格式控制字串。argument
選擇性參數。locale
使用的地區設定。
傳回值
已列印的字元數。
備註
這些 函式格式化並列印一系列的字元與值直接寫入主控台,並使用 _putch 函式 ( _cwprintf的_putwch ) 輸出字元。 每個 argument (如果有的話) 是根據 format中的對應格式規格轉換和輸出。 格式有相同的表單和函式,如printf 函式的 format 參數。 不同於 fprintf、printf和 sprintf這三個函式, _cprintf 和 _cwprintf 在輸出時皆不會轉譯換行字元為托架傳回行摘要 (CR-LF) 組合。
重要區別是 _cwprintf 在其用於Windows NT時顯示 Unicode 字元。 不同於 _cprintf, _cwprintf 表示使用目前控制台中的地區設定。
這些以 _l 後綴的函式版本除了使用傳入的地區設定以外行為相同。
_cprintf驗證format參數。 如果 format為 null 指標,則函式叫用無效參數處理常式,如參數驗證 中所述。 如果允許繼續執行,函式會傳回 -1 並將 errno 設定為 EINVAL。
安全性提示 |
---|
確認 format 不是使用者定義的字串。 |
一般文字常式對應
Tchar.h 常式 |
未定義 _UNICODE and _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_tcprintf |
_cprintf |
_cprintf |
_cwprintf |
_tcprintf_l |
_cprintf_l |
_cprintf_l |
_cwprintf_l |
需求
常式 |
必要的標頭 |
---|---|
_cprintf,_cprintf_l |
<conio.h> |
_cwprintf, _cwprintf_l |
<conio.h> |
如需相容性的詳細資訊,請參閱相容性。
範例
// crt_cprintf.c
// compile with: /c
// This program displays some variables to the console.
#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( "%d %.4x %u %c %s\r\n", i, h, u, c, s );
}
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。
請參閱
參考
_cscanf、_cscanf_l、_cwscanf、_cwscanf_l
fprintf、_fprintf_l、fwprintf、_fwprintf_l
printf、_printf_l、wprintf、_wprintf_l
sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_l
vfprintf、_vfprintf_l、vfwprintf、_vfwprintf_l
_cprintf_s、_cprintf_s_l、_cwprintf_s、_cwprintf_s_l