-1

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

4

1 回答 1

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

于 2013-01-26T03:17:37.783 回答