今天我們將會為大家詳細介紹一下有關C++ sprintf格式化的相關應用方法。希望初學者們可以根據本文介紹的內容充分掌握這方面的知識,並從中體驗這款語言給我們都帶來了哪些不一樣的應用方式。
名稱:
- printf, sprintf - 轉換成指定格式的輸出結果.
- void printf( string format, ... );
- string sprintf( string format, ... );
語法:
無返回值 printf( 字符串 format, ... );
字符串 sprintf( 字符串 format, ... );
用法: 以下為 LPC (s)printf() 的格式用法, Lynscar (Sean A Reith) 加入了一些擴充用法.
目前的版本支援以下的修改格式 (modifier):
" " 在正整數之前放入一個空格.
"+" 在正整數之前放入一個 + 號.
"-" 對齊欄位 (field) 的左邊. 請注意: 標准的 (s)printf() 預設是對齊右邊, 但是對主要以字符串為基礎的語言來說, 這樣非常奇怪. 在此為了保留與 C 的相容性而保留此一特性.
"|" 對齊欄位的中心.
"=" 如果字符串長度比欄位大小還長, 使用縱列模式 (column mode). 在此C++ sprintf格式化只對字符串有效, 其他的類型一律無效. 縱列模式中, 字符串中的字會自動換行 (wrap).
"#" 表格模式. 在欄位之內, 字符串中的每一個字會換一行 (即每個字後面加上 \n). 只對字符串有效.
n 以整數指定欄位大小. 用 * 代替整數則使用參數指定欄位大小. 如果 n 是 0, 則此欄除了數據以外就以空值 (zeros) 填滿. 如果 n 不是 0, 此欄除了數據以外將放入空白字符 (space) 或是另外指定的字符.
"."n 指定輸出的精確度為 n. 普通的字符串在此之後則被截斷 (如果精確度 n 大於欄位長度, 則欄位長度變為精確度 n ). 表格則使用精確度指定縱列的總數 (如果不指定精確度, 則表格會自動計算最適合的輸出結果). 精確度對於其他的數據類型無效.
":"n n 指定 fs 和精確度, 如果 n 是 0, 則原來用以填滿欄位的空格就代以空值 (zeros).
"@" 參數為一個數組. 其他除了 @ 以外, 對應的格式數據亦將用於數組中的每一個元素.
"'X'" 單引號 (') 中的字符用以填滿整個欄位中, 數據以外的空間. (預設值是空白字符) (如果同時在欄位大小之前指定一個空值, 又指定 'X' 字符串填滿欄位, 則以後者為准) 注意: 如果欲填滿的字符串中要使用單引號 (') 或是雙引號 ("), 您必須使用 \' 或 \" 以避開編譯器的檢查.
以下是C++ sprintf格式化中指定類型的格式:
返回: sprintf() 返回指定格式的字符串.
以上就是對C++ sprintf格式化的相關接受。