日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言通过printf()设置输出显示方式

發布時間:2023/12/2 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言通过printf()设置输出显示方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在調試程序時多數情況下要輸出很多提示信息,通過控制輸出字體的顏色的顯示方式可以方便我們快速查看有用的信息,而printf()的終端轉義就為我們提供了這樣的手段。

我們大家知道在程序結尾加上\n就可在輸出的時候換行,其實這就是個轉義字符。而字體顏色和顯示方式的轉義字符由控制臺控制(Console Conrols )是系統的顯示功能與具體語言無關。

轉義字符以控制字符'ESC'開頭。該字符的ASCII碼十進制表示為27,十六進制表示為0x1B,八進制表示為033。多數轉義字符超過兩個字符,故通常以'ESC'和左括號'['開頭。該起始字符稱為控制序列引導符(CSI,Control Sequence Intro),通常由'\033['或'\e['代替。

具體格式為:

\033[parameter1;parameter2...m?輸出字符?\033[0m \\ ?parameter為屬性值,多個屬性之間用分號隔開,與順序無關。 \\??\033[0m表示將所有屬性重設為默認值,否則會影響后續的輸出。

注意:轉義字符可被控制字符'CAN'(Cancel )和'SUB'(Substitute)中斷?

常用顏色屬性值如下:


黑色

紅色

綠色

黃色

藍色

紫色

深綠色

白色

字體顏色

30

31

32

33

34

35

36

37

背景顏色

41

42

43

44

45

46

47

48

部分ANSI控制碼:

\33[0m 關閉所有屬性?

\33[1m 設置高亮度?

\33[4m 下劃線?

\33[5m 閃爍?

\33[7m 反顯?

\33[8m 消隱?

\33[30m -- \33[37m 設置前景色?

\33[40m -- \33[47m 設置背景色?

\33[nA 光標上移n行?

\33[nB 光標下移n行?

\33[nC 光標右移n行?

\33[nD 光標左移n行?

\33[y;xH設置光標位置?

\33[2J 清屏?

\33[K 清除從光標到行尾的內容?

\33[s 保存光標位置?

\33[u 恢復光標位置?

\33[?25l 隱藏光標?

\33[?25h 顯示光標

附實現程序:

運行環境:windows10->vmware15pro->Debian 6.3.0;

#include#include int main(int argc, char* argv[]){ ? ? ? ?printf(" The colour test starting ---\n");printf(" Upcoming screen cleaning ---\n"); ? ? ? ?for(int i=3; i>0; i--) ? ? ? ?{ ? ? ? ? ? ? ? ?sleep(1); ? ? ? ? ? ? ? ?printf(" Count down %d\n",i); ? ? ? ? ? ? ? ?sleep(1); ? ? ? ?} ? ? ? ?printf("\033[2J");printf("\033[30m This is black ?word ?\033[0m\n"); ? ? ? ?printf("\033[31m This is red ? ?word ?\033[0m\n"); ? ? ? ?printf("\033[32m This is green ?word ?\033[0m\n"); ? ? ? ?printf("\033[33m This is yellow word ?\033[0m\n"); ? ? ? ?printf("\033[34m This is blud ? word ?\033[0m\n"); ? ? ? ?printf("\033[35m This is purple word ?\033[0m\n"); ? ? ? ?printf("\033[36m This is dgreen word ?\033[0m\n"); ? ? ? ?printf("\033[37m This is white ?word ?\033[0m\n"); ? ? ? ?printf("\033[40m This is black ?bground ?\033[0m\n"); ? ? ? ?printf("\033[41m This is red ? ?bground ?\033[0m\n"); ? ? ? ?printf("\033[42m This is green ?bground ?\033[0m\n"); ? ? ? ?printf("\033[43m This is yellow bground ?\033[0m\n"); ? ? ? ?printf("\033[44m This is blud ? bground ?\033[0m\n"); ? ? ? ?printf("\033[45m This is purple bground ?\033[0m\n"); ? ? ? ?printf("\033[46m This is dgreen bground ?\033[0m\n"); ? ? ? ?printf("\033[47m This is white ?bground ?\033[0m\n"); ? ? ? ?printf("\033[43;35m This is purple word yellow bground ?\033[0m\n"); ? ? ? ?printf("\033[1m This is Thickening ? ?\033[0m\n"); ? ? ? ?printf("\033[3m This is Italics ? ? ? \033[0m\n"); ? ? ? ?printf("\033[4m This is Underline ? ? \033[0m\n"); ? ? ? ?printf("\033[5m This is Twinkle ? ? ? \033[0m\n"); ? ? ? ?printf("\033[7m This is Anti color ? ?\033[0m\n");/* ? ? ? ? ? ? ?printf("\033[nA"); ? ? ? ? ? ? ?printf("\033[nB"); ? ? ? ?printf("\033[nC"); ? ? ? ? ? ? ?printf("\033[nD"); ? ? ? ?//使光標上下右左移動n位 ? ? ? ?*/ ? ? ? ?printf("\n The colour test end------\n\n");return 0;}

也可將其定義為宏寫在頭文件中,方便重復引用。

執行結果如下:

聲明:

本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。

總結

以上是生活随笔為你收集整理的C语言通过printf()设置输出显示方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。