[C++]sprintf的格式化方法

來源:互聯網
上載者:User
引用:http://micro.mud.com.cn/gm/efuns/strings/sprintf.htm

名稱: 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). 在此只對字串有效, 其他的類型一律無效. 縱列模式中, 字串中的字會自動換行 (wrap).

"#"  表格模式. 在欄位之內, 字串中的每一個字會換一行 (即每個字後面加上 \n). 只對字串有效.

n   以整數指定欄位大小. 用 * 代替整數則使用參數指定欄位大小. 如果 n 是 0, 則此欄除了資料以外就以空值 (zeros) 填滿. 如果 n 不是 0, 此欄除了資料以外將放入空白字元 (space) 或是另外指定的字元.

"."n 指定輸出的精確度為 n. 普通的字串在此之後則被截斷 (如果精確度 n 大於欄位長度, 則欄位長度變為精確度 n ). 表格則使用精確度指定縱列的總數 (如果不指定精確度, 則表格會自動計算最適合的輸出結果). 精確度對於其他的資料類型無效.

":"n n 指定 fs 和精確度, 如果 n 是 0, 則原來用以填滿欄位的空格就代以空值 (zeros).

"@"  參數為一個數組. 其他除了 @ 以外, 對應的格式資料亦將用於數組中的每一個元素.

"'X'" 單引號 (') 中的字元用以填滿整個欄位中, 資料以外的空間. (預設值是空白字元) (如果同時在欄位大小之前指定一個空值, 又指定 'X' 字串填滿欄位, 則以後者為準) 注意: 如果欲填滿的字串中要使用單引號 (') 或是雙引號 ("), 您必須使用 \' 或 \" 以避開編譯器的檢查.

以下是指定類型的格式:

%   此處不指定任何參數, 而以 % 輸出. 忽略所有的修改格式 (modifier).
O   參數為 LPC 資料類型.
s   參數為字串.
d, i 參數為整數, 並以十進位印出.
c   參數為整數, 並以字元印出.
o   參數為整數, 並以八進位印出.
x   參數為整數, 並以十六進位印出.
X   參數為整數, 並以十六進位印出 (A 到 F 以大寫印出).
f   浮點數.

返回: sprintf() 返回指定格式的字串.
作者: Sean A. Reith (Lynscar)
參考: sscanf
翻譯: Spock @ FF 97.Jul.23.
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.