[英]ANSI color codes in Windows 7 console using ansicon
我嘗試了此解決方案 ,並且ansicon正常工作,我可以從批處理文件中輸出彩色文本:
@echo ←[1m←[31mTESTANSI←[0m
但是當我運行該程序時:
#include <stdio.h>
int main () {
printf("\x1b[31mTESTANSI");
return 0;
}
我看不到任何顏色,但這是:
←[31mTESTANSI
編輯:這是一個對我有用的簡單winapi解決方案。 它基於本文
#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 7控制台做的事情很奇怪,您的程序在Mac上運行良好。
您必須在使用/ kansicon啟動的控制台中執行程序。
如果您直接從資源管理器中運行程序,則控制台可能不會在啟用ansi支持的情況下啟動。。。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.