Windows 终端颜色和 ANSI 终端颜色[C/C++]

时间:2020-12-27 13:03:17

标签: c terminal colors

所以我有这个功能应该改变控制台的文本颜色和文本背景/突出显示,我正在为每个平台实现不同的版本:

// text & textBg are numbers between(0-15)
void SetConsoleAppearance(unsigned int text, unsigned int textBg)
{
#ifdef _WIN32
    // Windows implementation
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, text + textBg * 16);
#elif defined(__unix__)
    //printf("\033[%i;%im\n", 30 + text, 40 + textBg ); ?????
#endif
}

我想出了如何在 windows api 中做到这一点,但我无法弄清楚如何将其转换为 ANSI 颜色。有没有办法在不硬编码 switch/if 语句的情况下实现它?

0 个答案:

没有答案
相关问题