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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.

發布時間:2025/4/5 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译. 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

彩色進度條的實現與makefile編譯:

  • 創建一個process文件,在里面編寫實現進度條的代碼 

    ?? 1.在編寫代碼的時候我們首先要區分兩個轉義字符:\n  \r

      \n:表示換行,換到下一行,并位于起始位置,并不會覆蓋原來的內容。

      \r:表示回車,回到這一行的起始位置,相當于覆蓋了之前的內容,不會重啟一行。

    2.其次了解linux下的 usleep() 函數:

      功能:把調用該函數的線程掛起一段時間 , 單位是微秒(即百萬分之一秒)

      頭文件:unistd.h

      語法: void usleep(int micro_seconds);

    3.函數fflush():

      作用:刷新緩沖區——>fflush(stdout);

    4.以下是進度條的代碼實現:

      

?  這里提一下:如果不加 fflush() 函數,則會在一定的時間后一起顯示出來,并不會像進度條一樣慢慢往前增長。

  • 創建一個makefile文件,通過makefile來執行代碼

    

    1.左邊為目標文件,右邊是依賴文件

    2.第二行開始先使用 tab 鍵空開(規定),然后在寫入命令

  • 檢驗進度條的實現

    

?

  • 修改進度條的代碼,使進度條成為一個彩色進度條 

Linux下printf函數顯示不同的顏色
顏色:
#define NONE "\033[0m"
#define RED "\033[0;32;31m"
#define LIGHT_RED "\033[1;31m"
#define GREEN "\033[0;32;32m"
#define LIGHT_GREEN "\033[1;32m"
#define BLUE "\033[0;32;34m"
#define LIGHT_BLUE "\033[1;34m"
#define DARY_GRAY "\033[1;30m"
#define CYAN "\033[0;36m"
#define LIGHT_CYAN "\033[1;36m"
#define PURPLE "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN "\033[0;33m"
#define YELLOW "\033[1;33m"
#define LIGHT_GRAY "\033[0;37m"
#define WHITE "\033[1;37m"


比如:
  printf("\033[31m ####----->> \033[32m" "hello\n" "\033[m");
  顏色分為背景色和字體色,30~39用來設置字體色,40~49設置背景:


背景色    字體色
40: 黑    30: 黑
41: 紅  ? 31: 紅
42: 綠    32: 綠
43: 黃    33: 黃
44: 藍    34: 藍
45: 紫    35: 紫
46: 深綠   36: 深綠
47: 白色   37: 白色
記得在打印完之后,把顏色恢復成NONE,不然再后面的打印都會跟著變色。

另外,還可以加一些ANSI控制碼。加顏色只是以下控制碼中的一種:

\033[0m 關閉所有屬性
\033[1m 設置高亮度
\033[4m 下劃線
\033[5m 閃爍
\033[7m 反顯
\033[8m 消隱
\033[30m -- \033[37m 設置前景色
\033[40m -- \033[47m 設置背景色
\033[nA 光標上移n行
\033[nB 光標下移n行
\033[nC 光標右移n行
\033[nD 光標左移n行
\033[y;xH設置光標位置
\033[2J 清屏
\033[K 清除從光標到行尾的內容
\033[s 保存光標位置
\033[u 恢復光標位置
\033[?25l 隱藏光標
\033[?25h 顯示光標
  printf( CYAN "current function is %s " GREEN " file line is %d\n" NONE,?__FUNCTION__, __LINE__ );
  fprintf(stderr, RED "current function is %s " BLUE " file line is %d\n" NONE,?__FUNCTION__, __LINE__ );
  return 0;

?   代碼實現:

?

?

    

轉載于:https://www.cnblogs.com/cuckoo-/p/10741562.html

總結

以上是生活随笔為你收集整理的详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.的全部內容,希望文章能夠幫你解決所遇到的問題。

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