共用方式為


_cprintf_s、 _cprintf_s_l、 _cwprintf_s、 _cwprintf_s_l

格式和列印至主控台。 這些是 _cprintf、 _cprintf_l、 _cwprintf、 _cwprintf_l 的安全性增強版本,如 安全性功能,則在 CRT 中 中所述。

重要

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

int _cprintf_s( 
   const char * format [, 
   argument] ... 
);
int _cprintf_s_l( 
   const char * format,
   locale_t locale [, 
   argument] ... 
);
int _cwprintf_s(
   const wchar * format [, 
   argument] ...
);
int _cwprintf_s_l(
   const wchar * format,
   locale_t locale [, 
   argument] ...
);

參數

  • format
    格式控制字串。

  • argument
    選擇性參數。

  • locale
    使用的地區設定。

傳回值

列印的字元數。

備註

這些函式格式化並列印一系列字元和值直接寫入主控台,請使用 _putch 函式 ( _cwprintf_s) 的_putwch 輸出字元。 每個 argument (如果有的話) 是根據 format中的對應格式規格轉換和輸出。 格式有表單和函式和 printf_s 函式的 format 參數相同。 不同於 fprintf_s、 printf_s和 sprintf_s 函式, _cprintf_s 和 _cwprintf_s 不會轉譯換行字元成托架傳回行摘要 (CR-LF) 組合,當輸出。

重要區別是 _cwprintf_s 在 Windows NT 顯示 Unicode 字元,當使用。 不同於 _cprintf_s, _cwprintf_s 表示使用目前主控台地區設定

這些以 _l 後綴的函式版本除了使用傳入的地區設定以外行為相同。

安全性注意事項安全性提示

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

像不安全的版本 (請參閱 _cprintf、 _cprintf_l、 _cwprintf、 _cwprintf_l),這些函式會驗證它們的參數並叫用無效的參數處理常式,如 參數驗證中所述,否則,如果 format 為 null 指標。 這些函式是不安全的版本不同之處在於格式字串也會驗證。 如果有任何未知或格式錯誤的格式規範,這些函式叫用無效的參數處理常式。 在所有情況下,則為,如果執行允許繼續執行,函式會傳回 -1 並將 errno 加入至 EINVAL。

泛用文字常式對應

Tchar.h 常式

未定義的 _UNICODE 和 _MBCS

已定義 _MBCS

已定義 _UNICODE

_tcprintf_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcprintf_s_l

_cprintf_s_l

_cprintf_s_l

_cwprintf_s_l

需求

程序

必要的標頭檔

_cprintf_s,_cprintf_s_l

<conio.h>

_cwprintf_s, _cwprintf_s_l

<conio.h>

如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility)

程式庫

所有的 C 執行階段程式庫 (C run-time libraries) 版本。

範例

// crt_cprintf_s.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_s( "%d  %.4x  %u  %c %s\r\n", i, h, u, c, s );
}

Output

-16  001d  62511  A Test

請參閱

參考

主控台和連接埠的 I/O

_cscanf、 _cscanf_l、 _cwscanf、 _cwscanf_l

fprintf_s、 _fprintf_s_l、 fwprintf_s、 _fwprintf_s_l

printf_s、 _printf_s_l、 wprintf_s、 _wprintf_s_l

sprintf_s、 _sprintf_s_l、 swprintf_s、 _swprintf_s_l

vfprintf_s、 _vfprintf_s_l、 vfwprintf_s、 _vfwprintf_s_l

格式規格語法:printf 和 wprintf 函式