Как мне печатать цвета в консоли с помощью D?

Я пробовал escape-последовательности с помощью функции Writeln (), я также пытался использовать их с функцией printf (), импортированной из модуля std.c.stdlib, но она печатает только пустую строку.

printf("\0x1B[5;32;40m Blink Text");

printf("\e[5;32;40m Blink Text\e[m");

writeln("\0x1b\x5b1;31;40m\tColor");

Ничего из этого не работает.

Я перепробовал все, что мог придумать, есть ли способ?

Поиск ссылки на библиотеку веб-сайта D мне не помог.


РЕДАКТИРОВАТЬ : РЕШЕНИЕ

Хорошо, поэтому я попытался импортировать функцию SetConsoleTextAttribute, как любезно предложил Марс:

extern (Windows) bool SetConsoleTextAttribute(void*, ushort);

Я также импортировал другую функцию (которую я просто догадался, что мне нужно импортировать, поскольку у меня нет предыдущего опыта программирования на Win )

extern (Windows) void* GetStdHandle(uint);

И просто вызвал две функции

auto handle  = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, FOREGROUND_BLUE);
writeln("In Color");

Это отлично работает, большое спасибо за ваше время и помощь

9
задан Pavel Matuska 20 February 2012 в 21:25
поделиться