【发布时间】:2012-05-27 07:58:05
【问题描述】:
我需要从我的 c++ 代码中执行一个 perl 脚本。这是通过 system() 完成的。
现在我需要从我的代码中传递第二个参数:
int main(int argc, char * argv[])
像这样进入我的系统():
char *toCall="perl test.pl "+argv[1];
system(toCall);
现在它带来了错误:“‘const char [14]’和‘char**’类型的无效操作数到二进制‘operator+’”
我做错了什么?
【问题讨论】:
-
您的代码完全不安全;如果 argv[1] 是
; /bin/rm -rf $HOME -
@BasileStarynkevitch:你是对的,但我们不知道 OP 是否计划添加一些输入检查;在这里展示它不会使问题更清楚。
标签: c++ arguments command-line-arguments