【问题标题】:append const char variables wih string用字符串附加 const char 变量
【发布时间】:2013-01-26 03:13:42
【问题描述】:

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

【问题讨论】:

  • 我用的是c++! const char* 不适用于添加。我问是否有更简单的方法。在这种情况下请帮助我。
  • num1 和 num2 是 char *?还是整数?
  • @LakshmiNarayanan,我的意思是 C++ 提供了std::string,而 C 没有。只要const char * 无处不在,你就会被限制在strcat 之类的范围内,而std::string 的易用性并不理想。
  • @LakshmiNarayanan,嗯,用一个例子比一堆文档更容易理解我的观点。我认为this page 可能更适合说明我的观点。

标签: c++ char strcat const-char


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-10-27
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2013-10-22
    相关资源
    最近更新 更多