我已经编写了一个示例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:错误:此时文件“
答案 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);
如果您要格式化字符串?在你用它作为论据之前做它。