printf 輸出格式設置\033[47\033[5m 與-8.8s

摘要:在使用linux終端命令的時候,咱們能夠看到像more命令,它的顯示方式與通常的字符串不一樣,是用了反顯。一樣,linux C下printf還有不少其餘不常見的格式化輸出形式。本文主要爲你盤點這些形式。linux

 

/*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 顯示光標
字體

這樣, 在某些時候就能夠實現動態的輸出.spa

 

 

printf的格式控制的完整格式:內存

% - 0 m.n l或h 格式字符字符串

下面對組成格式說明的各項加以說明:class

%:表示格式說明的起始符號,不可缺乏。gcc

-:有-表示左對齊輸出,如省略表示右對齊輸出。終端

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()

{int a = -1;

printf("%d,%o", a, a);

}

運行結果:-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格式中較短的一種輸出,且不輸出無心義的零。

相關文章
相關標籤/搜索