如何使用c ++在code :: blocks中显示诸如“ \ 033 [1; 90m””这样的字符串的颜色?

我有一个C ++项目(可能在linux上开发),我希望通过code :: blocks在Windows上运行。 但是,当我尝试运行它时,会发生意外的现象。 通常,有一个由#和+组成的网格应该采用不同的颜色。 但是我唯一的输出是:

###################################################################
#  [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m   [1;90m+[1;0m  #
#    [1;91m3[1;0m           [1;96m2[1;0m               [1;91m3[1;0m               [1;96m2[1;0m           [1;91m3[1;0m    #
...

我可以看到的代码中的某个地方(以及其他地方):

static const char* grey = "\033[1;90m" ;
static const char* reset = "\033[1;0m" ;

以及在某些情况下使用此声明的其他地方:

out << grey << "+" << reset ;

我认为您猜到的问题是: 如何正确显示颜色的网格? 问题来自操作系统,代码块还是编译器?

任何能使我解决的方法都受到欢迎。

预先感谢您的帮助。

评论