c ++如何使用带有WriteConsoleOutput的ANSI转义码?

问题描述 投票:0回答:1

我的缓冲区:

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);
c++ console windows-console ansi-escape
1个回答
0
投票

WriteConsoleOutput不使用也不解析ANSI序列。您提供的颜色信息是您传递的CHAR_INFO数据的一部分。

要为输出添加颜色,请在添加要显示的字符时更新ciScreenBuffer数组的颜色成员。例如,根据您的一条评论中的示例,

ciScreenBuffer[50].Attributes = FOREGROUND_BLUE;
© www.soinside.com 2019 - 2024. All rights reserved.