<menu id="4i424"><strong id="4i424"></strong></menu>
  • <nav id="4i424"><nav id="4i424"></nav></nav>
    <dd id="4i424"></dd>
  • <nav id="4i424"></nav>
  • 控制台程序输出的彩色的字符串

     
    古城
    @ 2009.04.25
    分类:技术笔记
    点击:2940  评论:0
     
     
     

      前段时间做了个用于测试的控制台程序,要在控制台上输出日志,以便分析测试程序执行和测试结果是否正确。黑底白字的控制台程序看起来很单调,也不太容易看出是否有问题。于是输出时加了一点点代码,使每一步的执行是否正确都很清晰,出错时也一眼就能看出来了。


      这个颜色是受linux启动界面的启发。

      控制台程序是怎么输出的有颜色的字符串,现在分享一下:

    /*
    *  在控制台上输出指定颜色的字符串
    *  第一个参数color表示颜色
    */
    void printfc(unsigned short color, char* format,...)
    {
        unsigned short oldcolor;
        HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);
        va_list argList;
    
        CONSOLE_SCREEN_BUFFER_INFO bInfo; 
        GetConsoleScreenBufferInfo(hCon, &bInfo );
    
        oldcolor = bInfo.wAttributes;
    
        SetConsoleTextAttribute(hCon,color);
        va_start( argList, format );
        vprintf( format,argList);
        va_end( argList );
        SetConsoleTextAttribute(hCon,oldcolor);
    }


      就是这么一个函数就够了,比如:

    printfc(10,"GREEN");


      就是显示一个绿色的字符串"GREEN"。

      另外,system("color 0a");也可以让控制台变成绿色字符,不过是所有的输出全都变成绿色,感兴趣也可以试试。

     
     
     
    上一篇:delete和delete[]
     
     

    本文评论

     
     

    发表评论

    你的评论
    ← 填你的昵称
    以下内容非必填,可根据需要填写
    ← 可以展示在你的评论上方
    ← 不会在页面展示
    ← 不会在页面展示
    ← 只给我看?勾选上
    这是一个别人称之为角落的世界
    幸而,它的确是我的世界
    贵州快3QQ群