<分区>
我是 C++ 的新手。我正在尝试根据从配置文件中读取的内容来更改某些文本的颜色。
配置文件包含:
RED=DEFCOLOR
RED 在头文件中定义:
static const std::string RED="\x1b[31m";
main()中的代码片段
while( std::getline(cfgin, cfgline)) {
std::stringstream stream(cfgline);
if( cfgline.find("DEFCOLOR") != string::npos) {
std::stringstream stream(cfgline);
getline(stream, DEFCOLOR, '=');
}
}
DEFCOLOR 现在包含文本:RED。
有没有办法直接使用 DEFCOLOR 就好像它是头文件中定义的 RED 的值,以便执行:
cout << DEFCOLOR << "\n";
相当于:
cout << RED << "\n";
哪个有效?前者当前打印出文本:RED。 我可以通过使用一系列 if 语句来检查颜色来让它工作:
if( DEFCOLOR == "RED")
{
cout << RED << "\n";
}
但必须有更好的方法。