C/C++控制台带颜色功能输出

在UNIX字符界面下显示有8种不同颜色,printf打印基本格式如下:

    printf("\x1b[%d;%dm%s\x1b[%dm", backcolor, frountcolor, str, control);

分别的表示如下:

    第一个%d:backcolor表示显示字符串的背景颜色,其值如下表所示:

    第二个%d:frountcolor表示字体颜色,其值如下表所示:

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

    第三个%s:str 表示需要显示的字符串

    第四个%d:control表示ANSI控制码,其值如下表所示:

ANSI控制码:

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


例子:

int main()
{
    int i, j;

    for(i=40; i<48; i++)
        for(j=30; j<38; j++)
        {
            printf("\x1b[%d;%dmhello world\n\x1b[0m",i, j);
        }

    return 0;
}


这是一个简单例子,可以在此基础上修改。需要说明的是如果在SecureCRT上显示的话,需要将ANSI开启。

除了用printf函数打印之外,还可以用echo输出。这里不做说明,方法一样。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值