linux printf设置颜色与输出控制,利用控制码,实现固定位置输出百分比进度

来源:互联网 发布:美国 军国主义 知乎 编辑:程序博客网 时间:2024/05/20 16:13
#include <sys/wait.h>   int main(void){     int i = 0;    for (i=0;i<=100;i++)    {        printf("%3d%%\033[1A\r\n",i);        sleep(1);    }    return 0;}



参考:http://www.linuxidc.com/Linux/2011-03/32903.htm

格式:

printf("\033[字背景颜色;字体颜色m字符串\033[0m" );

printf("\033[41;32m字体背景是红色,字是绿色\033[0m\n");
41是字背景颜色, 32是字体的颜色, 字体背景是红色,字是绿色是字符串.  后面的\033[0m是控制码.

颜色代码:
QUOTE:
字背景颜色范围: 40--49                   字颜色: 30--39
                40: 黑                           30: 黑
                41: 红                           31: 红
                42: 绿                           32: 绿
                43: 黄                           33: 黄
                44: 蓝                           34: 蓝
                45: 紫                           35: 紫
                46: 深绿                         36: 深绿
                47: 白色                         37: 白色


ANSI控制码:
QUOTE:
  \033[0m   关闭所有属性 
  \033[1m   设置高亮度 
  \03[4m   下划线 
  \033[5m   闪烁 
  \033[7m   反显 
  \033[8m   消隐 
  \033[30m   --   \033[37m   设置前景色 
  \033[40m   --   \033[47m   设置背景色 
  \033[nA   光标上移n行 
  \03[nB   光标下移n行 
  \033[nC   光标右移n行 
  \033[nD   光标左移n行 
  \033[y;xH设置光标位置 
  \033[2J   清屏 
  \033[K   清除从光标到行尾的内容 
  \033[s   保存光标位置 
  \033[u   恢复光标位置 
  \033[?25l   隐藏光标 
  \33[?25h   显示光标

这样, 在某些时候就可以实现动态的输出.

1 0
原创粉丝点击