【发布时间】:2018-01-08 19:31:27
【问题描述】:
是否可以将变量text_info 放在颜色之间的 readline 中?
GCC 调试器给了我这个错误:" error: expected ‘)’ before 'text'
#include <readline/readline.h>
#define CYELLOW "\001\e[0;31m\002"
#define RESET "\001\e[0m\002"
int main(int argc, char **argv)
{
char *text_info = "its very simple string";
readline(CYELLOW text_info RESET);
return 0;
}
我知道下面的方法可行,但事实并非如此。
int main(int argc, char **argv)
{
readline(CYELLOW "simple string" RESET);
return 0;
}
【问题讨论】:
-
您可以连接常量,但不能连接这样的变量。另外应该是
char* text_info。 -
如果
text_info部分是变量,而不是字符串文字,您可以使用sprintf来构建字符串。 -
好的,所以唯一的解决方案就是构建字符串,对吧?
-
你可以使用
char *text_info = CYELLOW "it's a very simple string" RESET; readline(text_info);