命令行实现进度条

    有时候需要在命令行实现进度显示,有个进度条就很直观,这里分享一段在命令行实现进度条的方法。

#include <windows.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");
}

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页