C ++中的系统调用问题

时间:2013-06-26 19:51:25

标签: c++ performance system

我正在编写需要在main()的开始时对Weka进行系统调用的软件。电话如下:

printf("Creating neural netowrk...\n");
system("\" java -cp \"FILEPATH\weka.jar\" weka.classifiers.functions.MultilayerPerceptron -t \"ML_data.arff\" -d \"MLPnn.model\" \""); 
printf("Neural network created.\n");

但是控制台弹出Creating neural network...并且永远不会前进。

我尝试将命令输入窗口本身,它运行正常。我很确定我的所有文件路径/引用都是正确的,因为我之前遇到过麻烦,它给了我错误。现在看来程序已经卡住了。

应该注意的是,此系统调用之前已经有效,并且保持不变。围绕它的程序已经发生了巨大的变化,但正如我所说的,这实际上是第一组被执行的指令。

有没有办法解决这个问题,或者解决问题的常用方法?我对system调用的内部阴谋并不十分了解,并想知道可能是什么原因(内存,硬件等)。

1 个答案:

答案 0 :(得分:1)

尝试:

system("java -cp \"FILEPATH\\weka.jar\" weka.classifiers.functions.MultilayerPerceptron -t \"ML_data.arff\" -d \"MLPnn.model\" "); 

刚刚删除了第一个'\''并在FILEPATH之后添加了一个额外的'\'。