用string添加const char变量

时间:2013-01-26 03:13:42

标签: c++ char strcat const-char

我有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是变量

1 个答案:

答案 0 :(得分:2)

如果num1num2const 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