如何使ANSI颜色代码在Windows CMD中工作? 如何在Windows CMD控制台中使用C++控制台应用程序获得ANSI转义代码来输出彩色终端输出?p>
这就是我迄今为止所尝试的:如何使ANSI颜色代码在Windows CMD中工作? 如何在Windows CMD控制台中使用C++控制台应用程序获得ANSI转义代码来输出彩色终端输出?p>,c++,cmd,windows-console,ansi-colors,C++,Cmd,Windows Console,Ansi Colors,这就是我迄今为止所尝试的: #include <windows.h> #ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 #endif int main() { HANDLE h = GetStdHandle(STD_INPUT_HANDLE); SetConsoleMode(h, ENABLE_VIRTUAL_TERMI
#include <windows.h>
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
#endif
int main()
{
HANDLE h = GetStdHandle(STD_INPUT_HANDLE);
SetConsoleMode(h, ENABLE_VIRTUAL_TERMINAL_PROCESSING);
printf("%c[%dm foo!\n", 0x1B, 32); // 1
printf("\e[31m foo \e[0m bar\n"); // 2
printf("^\u0001b[31m foo \u0001b[0m bar\n"); // 3
printf("^[[31m foo"); // 4
printf("\033[1;31m foo \e[0m bar\n"); // 5
};
#包括
#ifndef启用虚拟终端处理
#定义启用虚拟终端处理0x0004
#恩迪夫
int main()
{
句柄h=GetStdHandle(标准输入句柄);
设置控制台模式(h,启用虚拟终端处理);
printf(“%c[%dm foo!\n”,0x1B,32);//1
printf(“\e[31m foo\e[0m bar\n”);//2
printf(“^\u0001b[31m foo\u0001b[0m bar\n”);//3
printf(“^[[31m foo”);//4
printf(“\033[1;31m foo\e[0m bar\n”);//5
};
printf(“\e[31m foo\e[0m bar”);
应输出一个红色foo
和一个默认bar
,但只打印?[31m foo?[0m bar
\e
替换为\u001b
没有任何作用printf(“\033[1;32m foo\e[0m bar”);
我还使用
printf(“foo”)测试了输出
和std::out请注意,这是终端显示程序输出的一项功能,无论该程序是用哪种编程语言实现的…@DevSolar-fair point,我已经调整了我的问题,试图让它更清楚一点。希望它现在更有意义。它们可能得到支持。it用户设置det这是唯一一种可以在所有Windows版本上使用标准API调用的技术。请注意,这是终端显示程序输出的一项功能,无论该程序是用哪种编程语言实现的…@DevSolar-fair point,我已经调整了我的问题以尝试nd让它更清楚一点。希望它现在更有意义。它们可能会被支持。it用户设置已确定,并且只在Windows 10的后续版本中使用。此技术是唯一一种使用标准API调用在所有Windows版本上工作的技术