C 如何使用WriteConsoleoutput使用ANSI逃生代码

c++ How can i use ANSI escape codes with WriteConsoleOutput?

本文关键字:ANSI 逃生 代码 使用 WriteConsoleoutput 何使用      更新时间:2023-10-16

我的缓冲区:

CHAR_INFO *ciScreenBuffer = new CHAR_INFO[bufferWidth * bufferHeight];

如何使用这样的ANSI代码为我的输出char上色吗?

"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;