Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ansicon的Windows 7控制台中的ANSI颜色代码_C_Windows_Console - Fatal编程技术网

使用ansicon的Windows 7控制台中的ANSI颜色代码

使用ansicon的Windows 7控制台中的ANSI颜色代码,c,windows,console,C,Windows,Console,我试过了,ansicon工作正常,我可以从批处理文件中输出彩色文本: @echo ←[1m←[31mTESTANSI←[0m 但是当我运行这个程序时: #include <stdio.h> int main () { printf("\x1b[31mTESTANSI"); return 0; } 编辑:这是一个简单的winapi解决方案,适合我。基于此, \ifndef\uuu CONCOL\H__ #定义__ #包括 混合枚举{ 黑色、深蓝色、深绿色、深青色、深红色、深

我试过了,ansicon工作正常,我可以从批处理文件中输出彩色文本:

@echo ←[1m←[31mTESTANSI←[0m
但是当我运行这个程序时:

#include <stdio.h>
int main () {
  printf("\x1b[31mTESTANSI");
  return 0;
}
编辑:这是一个简单的winapi解决方案,适合我。基于此,

\ifndef\uuu CONCOL\H__
#定义__
#包括
混合枚举{
黑色、深蓝色、深绿色、深青色、深红色、深紫色、深黄色、深白色、,
灰色、蓝色、绿色、青色、红色、紫色、黄色、白色
};
内联void setcolor(enum concol textcol、enum concol backcol){
textcol%=16;
背景分数%=16;

unsigned short wAttributes=((unsigned)backcolWindows 7控制台做了一些奇怪的事情,您的程序在Mac上运行正常

您必须在自己使用/kansicon启动的控制台中执行该程序


如果直接从资源管理器运行该程序,控制台可能无法在启用ansi支持的情况下启动…这是即将消亡的平台的另一个缺点。

Windows死亡的消息被大大夸大了。我确实在以/kansicon启动的控制台中运行了该程序
←[31mTESTANSI
#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__*/