1

我已经编写了一个示例 C++ 程序...这里我使用系统命令调用带有参数的 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*)’写入文件的参数太多.cpp:29:错误:此时在文件中”

4

3 回答 3

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);

如果您想以相同的风格进行操作。

于 2012-08-24T12:36:19.853 回答
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());
于 2012-08-24T11:55:27.790 回答
0

查看您传递给函数的参数的结尾

... ,tid);

如果您尝试格式化字符串?在将其用作论据之前先这样做。

于 2012-08-24T11:54:55.710 回答