Раскрашивание вывода stdout в Windows cmd.exe из консольного C++ приложения

Я хотел бы написать что-то подобное

cout << "this text is not colorized\n";
setForeground(Color::Red);
cout << "this text shows as red\n";
setForeground(Color::Blue);
cout << "this text shows as blue\n";

для консольной программы на C++, работающей под Windows 7. Я читал, что глобальный передний план и фон можно изменить в настройках cmd.exe или вызовом system() - но есть ли способ изменить что-то на уровне символов, который можно закодировать в программе? Сначала я подумал об "ANSI-последовательностях", но они, похоже, давно потеряны для Windows.

5
задан tucuxi 15 October 2011 в 14:24
поделиться