跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 客語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 格式化字串 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
格式化字串
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''格式化字串'''(英語:'''format string''')係有兜程式設計語言个輸入 / 輸出庫當中做得同字串參數轉換做另外一種形式輸出个函式。比將講 C、C + + 等程式設計語言个 printf 類函式,其中个轉換說明(conversion specification)用來同隨後對應个零個抑幾下隻函式參數轉換做相應个格式輸出;格式化字串當中轉換說明以外个其他佢字元原旦係輸出。 ==C 語言 printf 函式係代表个一類== ===格式化預留位置=== 格式化字串裡肚个預留位仔用在指明輸出个參數值係仰般格式化。 格式化預留位置(format placeholder), 語法係: : ` % [_ parameter _] [_ flags _] [_ field width _] [. _ precision _] [ _ length _] _ type _ ` '''Parameter'''做得無注意著或者係: : '''Flags'''做得為零隻抑係幾下隻: : '''Field Width'''拿出來顯示數值最細个寬度,典型用在制表輸出个時節填充固定寬度个表目。實際輸出字元个個數毋罅闊,根據左對齊抑係對齊來進行填充。實際輸出字元个個數超過域闊並無引起數值結束,總下就顯示。闊度值一个前導零分人解釋為零填充標誌,比將講;前導个負值分人解釋係絕對值,負號解釋係左對齊標誌。係講域寬值為 ` * `,係由對應个函式參數个值係當前域寬。 '''Precision'''一般指明輸出个 _ 盡大 _ 長度,倚恃特定个格式化類型。對於 d、i、u、x、o 个整型數值,係講最細數目字位數,不足个位仔愛在左片補零,係講超過乜無停,預設值係一。對於 a ,A , e , E , f , F 个浮點數值,係講小數點右片顯示个數字位數,必要个時節四捨五入或者係補零;預設值係六。對於 g , G 个浮點數值,係講有效數目字个最大位數;預設值係六。對於 s 个字串類型,係講輸出來个位元組个上限,超出限制个其他字元會斷忒。係講域寬為 ` * `,係由對應个函式參數个值係當前域寬。係講淨出了小數點,係零pa24。 '''Length'''指出浮點型參數抑係整型參數个長度。這項 Microsoft 安到「Size」。 做得無注意,或者係下背講: : 另外,在 ISO C 九十九廣泛接受前,還有幾下隻平台相關个 length選項: : ISO C 九十九个標頭檔 ` inttypes . h ` 包含吔當多巨集,用在平台獨立个 ` printf ` 編碼。比將講: : ===類型=== '''Type''',乜講轉換說明(conversion specification / specifier), 做得係: : 闊度摎精度格式化參數做得無注意,或者直接指定,或者用星號 " ` *` " 表示取對應函式參數个值。比將講 ` printf ( " % * d " , 五 , 十 ) ` 輸出 " ` 十 ` ";` printf ( " % . * s " , 三 , " abcdef " ) ` 輸出 " ` abc `"。 係講函式參數忒少,做毋得匹配所有个格式參數說明符合,或者函式參數个類型毋匹配,會造成無定義(undefined)行為。忒多个函式參數無共樣。當多時節,無定義个行為會造成格式化字串攻擊。 一兜編譯器,像係 GCC,會靜態檢查 printf 這一類函式个格式化參數並編譯警告存在个問題(當使用編譯標誌 ` -Wall ` 抑係 ` -Wformat `)。 GCC 也會著啦使用者自定个 printf 風格函式做靜態檢查,假使在函式定義个時節使用了非標準个 ` _ _ attribute _ _ ( ( format ( . . . ) ) ) `。 ===具有 printf 風格函式个程式語言=== 另外,Windows API 个 FormatMessage 函式也使用格式化字來串說明。 ==參考文獻== ==外部連結== * C + + reference for ` std : : fprintf ` * gcc printf format specifications quick reference * ` printf ` : print formatted output – 系統介面(System Interfaces)參考,單一 UNIX® 規範第七期,由國際開放標準組織發布 * The ` Formatter ` specification in Java 一千五百空二 * GNU Bash ` printf ( 一 ) ` builtin [[分類: 待校正]]
返回到「
格式化字串
」。