我的缓冲区:
CHAR_INFO *ciScreenBuffer = new CHAR_INFO[bufferWidth * bufferHeight];
我如何使用这样的ANSI代码来着色我的输出字符?
"\x1b[38;2;R;G;Bm""
P.S我用它
WriteConsoleOutputA(hConsoleOutput, ciScreenBuffer, { (SHORT)bufferWidth, (SHORT)bufferHeight }, { 0, 0 }, &writeRegion);
WriteConsoleOutput
不使用也不解析ANSI序列。您提供的颜色信息是您传递的CHAR_INFO
数据的一部分。
要为输出添加颜色,请在添加要显示的字符时更新ciScreenBuffer
数组的颜色成员。例如,根据您的一条评论中的示例,
ciScreenBuffer[50].Attributes = FOREGROUND_BLUE;