c ++系统命令

时间:2012-08-24 11:51:04

标签: c++ system-calls

我已经编写了一个示例c ++程序...这里我使用system命令用参数调用python程序...

system("python /home/rpms/a3/dsp/noise_rem_python.py /home/rpms/a3/dsp/files/p1f%d.txt",tid);

/home/rpms/a3/dsp/noise_rem_python.py is a program name

/home/rpms/a3/dsp/files/p1f%d.txt是此程序的参数。

但我收到的错误是:

  

“/ usr / include / stdlib.h:在函数'void * writefile(void *)'中:   /usr/include/stdlib.h:712:错误:函数'int system(const char *)'的参数太多   writefile.cpp:29:错误:此时文件“

3 个答案:

答案 0 :(得分:2)

你也可以这样做:

char command[200];    // 200 is just an example value that can hold the whole string
sprintf(command, "python /home/rpms/a3/dsp/noise_rem_python.py /home/rpms/a3/dsp/files/p1f%d.txt", tid);
system(command);

如果你想以相同的风格做到这一点。

答案 1 :(得分:1)

说出来:

#include <string>

system(("python /home/rpms/a3/dsp/noise_rem_python.py /home/rpms/a3/dsp/files/p1f" + std::to_string(tid) + ".txt").c_str());

答案 2 :(得分:0)

查看您传递给函数

的参数的结尾

...,tid);

如果您要格式化字符串?在你用它作为论据之前做它。