【发布时间】:2021-04-19 21:17:54
【问题描述】:
我听说现代 Windows 控制台支持 ANSI escape codes(颜色),但您必须启用它们。
使用 Windows 10 的 19042.746 版本,使用 SetConsoleMode(consoleHandle, ENABLE_VIRTUAL_TERMINAL_PROCESSING); // from windows.h 启用它应该只是一件简单的事情,但是设置它之后,它仍然不支持 ANSI 转义颜色。我错过了什么?
现实生活中的例子
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleMode(hConsole, ENABLE_VIRTUAL_TERMINAL_PROCESSING);
printf("\033[32mThis is green");
打印出来
[31mThis is green
来源:
【问题讨论】:
-
在链接到该文档的页面上有一个示例:Console Virtual Terminal Sequences。一点是您应该使用
|保留现有模式,而不是覆盖模式。 -
您的输出与您的来源不匹配。请edit您的问题并提供minimal reproducible example。
标签: c winapi windows-console