关闭

[置顶] 兼容widows和linux的设置console、工作台颜色(七种)

363人阅读 评论(0) 收藏 举报
分类:
std::string WebServer::setFont(int n, std::string s)
{
#ifdef WIN32
CONSOLE_SCREEN_BUFFER_INFO csbi;
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hOut, &csbi);
if (n == 0)
{
SetConsoleTextAttribute(hOut, FOREGROUND_RED | FOREGROUND_INTENSITY);  //红色
papp_->logger().log("%s", s);
}
else if (n == 2)
{
SetConsoleTextAttribute(hOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY); //绿色
papp_->logger().log("%s", s);
}
else if (n == 3)
{
SetConsoleTextAttribute(hOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY);  //蓝色
papp_->logger().log("%s", s);
}
else if (n == 4)
{
SetConsoleTextAttribute(hOut, FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY);  //紫色
papp_->logger().log("%s", s);
}
else if (n == 5)
{
SetConsoleTextAttribute(hOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);  //黄色
papp_->logger().log("%s", s);
}
else if (n == 6)
{
SetConsoleTextAttribute(hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY);  //青色
papp_->logger().log("%s", s);
}
else if(n == 0)
{
SetConsoleTextAttribute(hOut, FOREGROUND_RED|FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY);  //白色
papp_->logger().log("%s", s);
}
SetConsoleTextAttribute(hOut, csbi.wAttributes);
#else
if (n == 1)
{
papp_->logger().log("\033[1;32m[%s]\033[0m", s);  //绿色
}
else if (n ==2)
{
papp_->logger().log("\033[1;33m[%s]\033[0m", s);   //黄色
}
else if (n == 3)
{ 
papp_->logger().log("\033[1;31m[%s]\033[0m", s);    //红色
}
else if (n == 4)
{
papp_->logger().log("\033[1;34m[%s]\033[0m", s);    //蓝色
}
else if (n == 5)
{
papp_->logger().log("\033[1;35m[%s]\033[0m", s);    //红色
}
else if (n ==6)
{
papp_->logger().log("\033[1;36m[%s]\033[0m", s);    //紫色
}
else if (n == 0)
{
papp_->logger().log("\033[1;37m[%s]\033[0m", s);    //白色
}
#endif
return s;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:35629次
    • 积分:892
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2条
    最新评论