命令行實現進度條

    有時候需要在命令行實現進度顯示,有個進度條就很直觀,這裏分享一段在命令行實現進度條的方法。

#include <windos.h>
#include <stdio.h>


static const char *ponit[]={"\x20\x20", "\xA8\x87", "\xA8\x86", "\xA8\x84", "\xA8\x83", "\xA8\x80"};//  ▏▎▍▊█

//int per 百分比範圍(0 ~ 100)

void progress_bar(int per)
{
	int i=0;
	int num0=0;

	printf("\r  [");

	num0  = (100-per)/5;

	i = per;
	while(i>5)
	{
		printf("%s", ponit[5]);
		i -= 5;
	}

	if(i)
	{
		printf("%s", ponit[i]);
	}

	for(i=0;i<num0;i++)
	{
		printf("%s", ponit[0]);
	}

	printf("] %2d%%", per);

	if(per == 100)
	{
		printf("\n");
	}
}

void process_bar_test(void)
{
	int i = 0;
     
	for(i=0;i<=100;i++)
	{
		progress_bar(i);
		Sleep(200);
	}

	set_console_color(COLOR_GREEN);
}

int main(int argc, char *argv[])
{
	process_bar_test();

	system("pause");
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章