linux下cout如何控制颜色,使用cout << term_cc <color,default,attrib>在Windows终端上输出颜色和属性的C++输出到Windows终端上,但不是在Lin...

认为我已经完成并准备好提交这个小项目,直到我找到这个意外的曲线球。 目标是使用令牌词法分析器来制作解析器。 实质上 R G B and back to red 将输出为:“RGB和回到红色”在他们各自的颜色和属性。使用cout << term_cc 在Windows终端上输出颜色和属性的C++输出到Windows终端上,但不是在Linux上正确输出颜色和属性

一切正常工作在Windows上,但当我把它移到Linux系统它输出的颜色代码没有任何事情发生。

#include

#include

#include

#include

#include

#include

#include "cmd.h"

#include "Lexer.h" // you should make use of the provided Lexer

#include "term_control.h"

#include "error_handling.h"

using namespace std;

map colorMap;

map attribMap;

string display(const string& expression)

{

if(validate(expression) == "VALID") {

Lexer lex;

Token tok;

vector colorVect;

vector attribVect;

lex.set_input(expression);

while(lex.has_more_token()){

tok = lex.next_token();

string sTok = tok.value;

if(tok.type == TAG && tok.value.at(0) != '/'){

cout<

colorVect.push_back(colorMap[tok.value]);

attribVect.push_back(attribMap[tok.value]);

}

if(tok.type == TAG && tok.value.at(0) == '/'){

colorVect.pop_back();

cout<

}

if(tok.type != TAG){

cout<

}

}

}

else if(validate(expression) != "VALID") return validate(expression);

return "";

}

_

cout

是specfic方法,其中的问题是躲在我一直在寻找周围,似乎无法找到正确的方法。

cout<

该方法在Linux系统上正确显示颜色,但我不能使用该方法的属性。

我一直在阅读的一切都只涉及颜色而不是颜色和属性,他们也使用echo命令和特定终端的硬编码颜色。这些都需要对我的所有代码进行重大更改,并导致它无法在Windows上运行,只能在Linux上运行,所以我试图避免这种情况。

在此先感谢有关此问题的任何建议,我希望每个人都能够在12之前得到这个结果!

2014-09-24

Michael

+0

什么是'term_cc'或'term_fg'?你在用图书馆吗?如果是这样,它应该在问题或标签中提及。 –

2014-09-24 01:38:08

+0

您是否在您提供的代码中表示cout 2014-09-24 01:41:23

+0

添加了一切抱歉的混蛋家伙。 和cout << term_cc @MichaelPetch –

2014-09-24 01:54:41

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值