c/c++格式控制符
一、型別
型別字元用以表示輸出資料的型別,其格式符和意義如下表所示:
格式字元意義d
以十進位制形式輸出帶符號整數(正數不輸出符號)
o以八進位制形式輸出無符號整數(不輸出字首0)
x,x以十六進製制形式輸出無符號整數(不輸出字首ox)
u以十進位制形式輸出無符號整數
f以小數形式輸出單、雙精度實數
e,e以指數形式輸出單、雙精度實數
g,g以%f或%e中較短的輸出寬度輸出單、雙精度實數
c輸出單個字元
s輸出字串
p輸出指標
二、標誌
標誌字元為 -、+、# 和空格四種,其意義下表所示:
標 志意義
–結果左對齊,右邊填空格
+輸出符號(正號或負號)
空格輸出值為正時冠以空格,為負時冠以負號
#對c、s、d、u類無影響; 對o類,在輸出時加字首o;
對x類,在輸出時加字首0x; 對e、g、f 類當結果有小數時才給出小數點。
三、輸出最小寬度
用十進位制整數來表示輸出的最少位數。
若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。
eg. "%6f":輸出最少6位。
四、精度
精度格式符以「.」開頭,後跟十進位制整數。
本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大於所定義的精度數,則截去超過的部分。
eg. "%.2f":保留2位有效位。
五、長度
長度格式符為h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。
特殊的:
要輸出%d
只需在前面再加上乙個%
,要輸出\
只需在前面再加上乙個\
,要輸出雙引號也只需在前面加上乙個\
即可
%x、%x、%#x、%#x 四種用法輸出為:2f、 2f、 0x2f、 0x2f
eg.:
錯誤:time_t _t; time(&_t);
time_t _t1 = _t - m_starttime;
output(_t("\n*** current time: %lds, time last: %lds"), _t, _t1);
正確:time_t _t; time(&_t);
time_t _t1 = _t - m_starttime;
output(_t("\n*** current time: %llds, time last: %llds"), _t, _t1);
前者當只輸出_t時結果正確,同時輸出_t1時結果為0,最終發現window10 64位下長度不夠,修改後結果正確。
C 輸出格式控制符
net有兩種格式控制符,一種是標準格式控制符,另一種是使用者自定義的。標準格式的一般形式 n表示佔位符的序號,0對應第乙個變數,1對應第2個變數,依此類推。m 是可選項,m表示輸出的變數在控制台中所佔據的字元個數。yn 是可選項。y是格式化說明符,n為正整數,代表定義資料的精度範圍。1 貨幣金額格式...
輸出格式控制
1 轉換說明符 a a 浮點數 十六進製制數字和 p p 記數法 c99 c 字元 d 有符號十進位制整數 f 浮點數 包括float 和doulbe e e 浮點數指數輸出 e e 記數法 g g 浮點數不顯無意義的零 0 i 有符號十進位制整數 與 d相同 u 無符號十進位制整數 o 八進位制整...
輸出格式控制
在輸出資料時,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時希望資料按指定的格式輸出,如要求以十六進製制或八進位制形式輸出乙個 整數,對輸出的小數只保留兩位小數等。有兩種方法可以達到此目的。一種是我們已經介紹過的使用控制符的方法 詳情請檢視 c 輸入cout與輸出cin...