摘要:在使用linux終端命令的時候,我們可以看到像more命令,它的顯示方式與一般的字串不同,是用了反顯。同樣,linux c下printf還有很多其他不常見的格式化輸出形式。本文主要為你盤點這些形式。
/*linux下gcc測試可用*/
printf("\033[47;31mhello world\033[5m");
47是字背景顏色, 31是字型的顏色, hello world是字串. 後面的\033[5m是控制碼.
顏色**:
quote:
字背景顏色範圍: 40--49 字顏色: 30--39
40: 黑 30: 黑
41: 紅 31: 紅
42: 綠 32: 綠
43: 黃 33: 黃
44: 藍 34: 藍
45: 紫 35: 紫
46: 深綠 36: 深綠
47: 白色 37: 白色
ansi控制碼:
quote:
\033[0m 關閉所有屬性
\033[1m 設定高亮度
\03[4m 下劃線
\033[5m 閃爍
\033[7m 反顯
\033[8m 消隱
\033[30m -- \033[37m 設定前景色
\033[40m -- \033[47m 設定背景色
\033[na 游標上移n行
\03[nb 游標下移n行
\033[nc 游標右移n行
\033[nd 游標左移n行
\033[y;xh設定游標位置
\033[2j 清屏
\033[k 清除從游標到行尾的內容
\033[s 儲存游標位置
\033[u 恢復游標位置
\033[?25l 隱藏游標
\33[?25h 顯示游標
這樣, 在某些時候就可以實現動態的輸出.
printf
的格式控制的完整格式:
% - 0 m.n l
或h格式字元
下面對組成格式說明的各項加以說明:
①%:表示格式說明的起始符號,不可缺少。
②-:有-
表示左對齊輸出,如省略表示右對齊輸出。
③0:有0
表示指定空位填0,
如省略表示指定空位不填。
④m.n
:m指域寬,即對應的輸出項在輸出裝置上所佔的字元數。n
指精度。用於說明輸出的實型數的小數字數。為指定n
時,隱含的精度為n=6
位。⑤l
或h:l
對整型指long
型,對實型指double
型。h用於將整型的格式字元修正為short
型。---------------------------------------
格式字元
格式字元用以指定輸出項的資料型別和輸出格式。
①d格式:用來輸出十進位制整數。有以下幾種用法:
%d:按整型資料的實際長度輸出。
%md:m
為指定的輸出欄位的寬度。如果資料的位數小於m
,則左端補以空格,若大於m
,則按實際位數輸出。
%ld:輸出長整型資料。
②o格式:以無符號八進位制形式輸出整數。對長整型可以用"%lo"
格式輸出。同樣也可以指定字段寬度用「%mo」
格式輸出。
例:main()
執行結果:-1,177777
程式解析:-1
在記憶體單元中(以補碼形式存放)為(1111111111111111)2
,轉換為八進位制數為(177777)8。③x
格式:以無符號十六進製制形式輸出整數。對長整型可以用"%lx"
格式輸出。同樣也可以指定字段寬度用"%mx"
格式輸出。
④u格式:以無符號十進位制形式輸出整數。對長整型可以用"%lu"
格式輸出。同樣也可以指定字段寬度用「%mu」
格式輸出。
⑤c格式:輸出乙個字元。
⑥s格式:用來輸出乙個串。有幾中用法
%s:例如:printf("%s","china")
輸出"china"
字串(不包括雙引號)。
%ms:輸出的字串佔m
列,如字串本身長度大於m
,則突破獲m
的限制,
將字串全部輸出。若串長小於m
,則左補空格。
%-ms
:如果串長小於m
,則在m
列範圍內,字串向左靠,右補空格。
%m.ns
:輸出佔m
列,但只取字串中左端n
個字元。這n
個字元輸出在m
列的右側,左補空格。
%-m.ns
:其中m
、n含義同上,n
個字元輸出在m
列範圍的左側,右補空格。如果n>m
,則自動取n
值,即保證n
個字元正常輸出。
⑦f格式:用來輸出實數(包括單、雙精度),以小數形式輸出。有以下幾種用法:
%f:不指定寬度,整數部分全部輸出並輸出6
位小數。
%m.nf
:輸出共佔m
列,其中有n
位小數,如數值寬度小於m
左端補空格。
%-m.nf
:輸出共佔n
列,其中有n
位小數,如數值寬度小於m
右端補空格。
⑧e格式:以指數形式輸出實數。可用以下形式:
%e:數字部分(又稱尾數)輸出6
位小數,指數部分佔5
位或4位。
%m.ne
和%-m.ne
:m、n
和」-」
字元含義與前相同。此處n
指資料的數字部分的小數字數,m
表示整個輸出資料所佔的寬度。
⑨g格式:自動選f
格式或e
格式中較短的一種輸出,且不輸出無意義的零。
printf輸出格式
轉換說明及作為結果的列印輸出 a 浮點數 十六進製制數字和p 記數法 a 浮點數 十六進製制數字和p 記法 c 乙個字元 d 有符號十進位制整數 e 浮點數 e 記數法 e 浮點數 記數法 f 浮點數 十進位制記數法 g 根據數值不同自動選擇 f或 e g 根據數值不同自動選擇 f或 e.i 有符號...
printf輸出格式
printf 格式化字串 格式化整型數值 格式化浮點值 printf 格式轉換的一般形式如下 flags width prec type 以中括號括起來的引數為選擇性引數,而 與type則是必要的。底下先介紹type的幾種形式 整數 d 整數的引數會被轉成一有符號的十進位制數字 u 整數的引數會被轉...
printf 輸出格式
printf函式稱為格式輸出函式,其關鍵字最末乙個字母f即為 格式 format 之意。其功能是按使用者指定的格式,把指定的資料顯示到顯示器螢幕上。printf函式呼叫的一般形式 printf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中。但作為乙個特例,不要求在使用 printf...