跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
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 的字串類型,是指輸出的位元組的上限,有夠有限制的其他的字元將被截斷。曷若闊為 ` * `,則對應的函式參數的值為當前域闊。若是干焦予出小數點,是闊的所在。 '''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 [[分類: 待校正]]
返回到「
格式化字串
」。