我有2个整数,我通过传递给用户定义的函数将其转换为const char *。现在我想将这两个变量作为
附加到命令行字符串中 "gnome-terminal -x sh -c 'cd; cd project/into_bot/; sh ./matlab_batcher.sh localize \""+num1+","+num2+"\"; exec bash;
我知道它非常基本,但数据类型不好。我如何在这里附加这2个const char?这个方法不起作用,因为它抛出错误,说const char *的二元运算符。请帮助我,尽管它很简陋。
num1和num2是变量
答案 0 :(得分:2)
如果num1
和num2
为const char *
,则可以使用std::string
。
std::string cmd_line = std::string() +
"gnome-terminal -x sh -c 'cd; cd project/into_bot/; "
"sh ./matlab_batcher.sh localize \"" +num1+","+num2+"\"; "
"exec bash;";
system( cmd_line.c_str() );
从语义上讲,这里发生的是你用std::string()
创建一个用于构建字符串的临时变量,然后在构建完所有内容之后,它用于初始化永久变量cmd_line
。