格式規格語法:printf 和 wprintf 函式
描述格式字串引數的語法與 printf、 wprintf和相關功能。 這些函式更安全版本可用的;如需詳細資訊,請參閱 安全性功能,則在 CRT 中。 如需個別函式的資訊,針對特定功能請參閱文件。 如需這些函式的清單,請參閱 資料流 I/O。
格式規格,包括選擇性和必要欄位,格式如下:
[旗標。%] [寬度] [.精確度。]) 之值的h。 | l | ll | w | I | I32 |I64值的 型別
格式規格的每個欄位都是字元或表示特定格式選項或轉換規範的數目。 必要的 type 字元指定要套用的類型轉換成引數。 選擇性的 flags、 width和 precision 的磁碟位置控制其他格式方面。 一個基本格式規格包含百分比符號和僅限 type 字元,例如 %s,指定轉換字串。 如果百分比符號是沒有意義的字元),當格式欄位,字元原封不動地複製到輸出。 若要列印百分比符號字元,請使用 %%。
格式規格的欄位控制引數轉換和格式化的下列各方面:
type
判斷所需的轉換規範字元相關聯的 argument 是否被解譯為字元、字串、整數或浮點數。 如需詳細資訊,請參閱printf 型別功能變數字元。flags
控制輸出標記、空白、前置字元零、小數點和八進位和十六進位前置對齊和輸出的選擇性字元。 如需詳細資訊,請參閱旗標指示詞。 多個旗標可以出現在格式規格,和旗標,能夠以任何順序出現。width
指定字元數目下限輸出的選擇性十進位數字。 如需詳細資訊,請參閱printf 寬度規格。precision
指定字元數上限為字串、有效位數的數目或數字的列印在浮點數值的小數點的字元之後的選擇性十進位數字或為整數值列印數字的最小數目。 如需詳細資訊,請參閱 < 精確度值如何影響型別上的 精確規格。h | l | ll | w | I | I32 | I64
指定對應的引數大小對 type 的選擇性前置詞。 如需詳細資訊,請參閱 < 大小 (以 大小規格為前置詞」。
安全性提示 |
---|
確定格式規格字串不是使用者定義的。例如,請考慮提示使用者輸入名稱的程式並將輸入在名為 name的字串變數。若要列印 name,則請勿採用此做法: printf( name ); /* Danger! If name contains "%s", program will crash */ 相反地,請執行下列作業: printf( "%s", name ); |
請參閱
參考
printf、 _printf_l、 wprintf、 _wprintf_l