Как сделать ANSI цветовые коды - PullRequest
0 голосов
/ 03 января 2019

Проблема в том, что когда я набрал

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 голосов
/ 10 января 2019

Может быть так:

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.

...