Я попробовал этот solution и ansicon работает отлично, я могу выводить цветной текст из пакетного файла:ANSI цветовые коды в Windows 7 консоли с помощью ansicon
@echo ←[1m←[31mTESTANSI←[0m
Но когда я запускаю эту программу:
#include <stdio.h>
int main() {
printf("\x1b[31mTESTANSI");
return 0;
}
Я не вижу цвета, но это:
←[31mTESTANSI
Edit: здесь простое решение WinAPI, который работает для меня. Он основан на этом article
#ifndef __CONCOL_H__
#define __CONCOL_H__
#include <windows.h>
enum concol {
black, dark_blue, dark_green, dark_cyan, dark_red, dark_purple, dark_yellow, dark_white,
gray, blue, green, cyan, red, purple, yellow, white
};
inline void setcolor(enum concol textcol, enum concol backcol) {
textcol %= 16;
backcol %= 16;
unsigned short wAttributes = ((unsigned) backcol << 4) | (unsigned) textcol;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wAttributes);
}
#endif /*__CONCOL_H__*/
Новость о смерти Windows сильно преувеличена. –
Я запустил программу внутри консоли, запущенной с/kansicon – Dill