如何执行ANSI颜色代码

时间:2019-01-02 21:50:18

标签: c ansi-escape

问题是当我键入

printf("\033[1;32mHello World\033[0m");

它打印出这样的内容

[1;32mHello World[0m 
在控制台中

。我的代码是

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(){

    printf("\033[1;32mHello World\033[0m");

    _getch();
    return 0;
}

它显示:

a box with a question mark inside->[1;32mHello World[0m

但应为绿色的文字颜色Hello World。

1 个答案:

答案 0 :(得分:0)

也许以这种方式:

HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD dwMode = 0;
GetConsoleMode(hStdout, &dwMode);
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
SetConsoleMode(hStdout, dwMode);
printf("\033[1;32mHello World\033[0m");

您需要初始化适当的Windows控制台模式。