C語(yǔ)言實(shí)現(xiàn)變色進(jìn)度條
C語(yǔ)言實(shí)現(xiàn)一個(gè)如下的變色進(jìn)度條,供大家參考,具體內(nèi)容如下

要求
1、依次多打印一個(gè)'#'
2、并后面標(biāo)注百分比
3、還可以進(jìn)行變色
實(shí)現(xiàn)進(jìn)度條(未變色)
strip.c
#include<stdio.h>
#include<unistd.h>
#define M 100
int main()
{
char ch = '#';
char str[M] = {0};
int i = 0;
char symbol[4] = {'|','/','-','\\'};
for(i = 0; i<M; ++i)
{
<span style="white-space:pre;"> </span> str[i] = '#';
printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
fflush(stdout);
usleep(10000);
printf("\n");
system("clear");
}
return 0;
}
現(xiàn)在讓我們實(shí)現(xiàn)變色版本
定義顏色頭文件 color.h
#define NONE "\033[m" #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"
在strip.c中引入 color.h 并實(shí)現(xiàn)變色
#include<stdio.h>
#include<unistd.h>
#include"color.h"
#define M 100
int main()
{
char ch = '#';
char str[M] = {0};
int i = 0;
char symbol[4] = {'|','/','-','\\'};
for(i = 0; i<M; ++i)
{
int c = i%5;
switch(c)
{
case 0:
printf(RED);
break;
case 1:
printf(GREEN);
break;
case 2:
printf(BLUE);
break;
case 3:
printf(YELLOW);
break;
case 4:
printf(BROWN);
break;
}
str[i] = '#';
printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
fflush(stdout);
usleep(100000);
printf("\n");
system("clear");
}
printf("\033[0m");
return 0;
}
實(shí)現(xiàn)一個(gè)Makefile
strip.exe:strip.c gcc strip.c -o strip.exe -g .PHONY:clean clean: rm -f strip.exe
運(yùn)行結(jié)果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言結(jié)構(gòu)體嵌套與對(duì)齊超詳細(xì)講解
這篇文章主要介紹了C語(yǔ)言結(jié)構(gòu)體嵌套與對(duì)齊,C語(yǔ)言中結(jié)構(gòu)體是一種構(gòu)造類型,和數(shù)組、基本數(shù)據(jù)類型一樣,可以定義指向該種類型的指針。結(jié)構(gòu)體指針的定義類似其他基本數(shù)據(jù)類型的定義2022-12-12
QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法
這篇文章主要給大家介紹了關(guān)于QT設(shè)置widget背景圖片不影響widget內(nèi)其他控件背景的方法,軟件的界面為了更直觀或美觀,常常需要通過(guò)圖片來(lái)表達(dá),需要的朋友可以參考下2023-06-06
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的聊天室功能
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
C語(yǔ)言中數(shù)據(jù)如何存儲(chǔ)進(jìn)內(nèi)存揭秘
使用編程語(yǔ)言進(jìn)行編程時(shí),需要用到各種變量來(lái)存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類型,來(lái)分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么2022-08-08
C++中VTK9.3.0刻度標(biāo)簽重疊的問(wèn)題記錄
這篇文章主要介紹了C++中VTK9.3.0刻度標(biāo)簽重疊的問(wèn)題,本文采用VTK9.3.0版本,其他版本如VKT8.0亦有同樣的問(wèn)題,需要的朋友可以參考下2024-06-06
C++關(guān)鍵字volatile學(xué)習(xí)筆記
這篇文章主要為大家介紹了C++關(guān)鍵字volatile學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例
這篇文章主要介紹了探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

