在Windows上使用system()时出现问题 我有一个C++程序,它试图用两个参数调用可执行文件。代码在Mac上运行良好,但在Windows上有一些问题。我确信这个问题与参数中的空格有关,因为当我使用没有空格的路径时,它工作得很好
此外,我将要发送到在Windows上使用system()时出现问题 我有一个C++程序,它试图用两个参数调用可执行文件。代码在Mac上运行良好,但在Windows上有一些问题。我确信这个问题与参数中的空格有关,因为当我使用没有空格的路径时,它工作得很好,c++,exe,quotes,C++,Exe,Quotes,此外,我将要发送到system()中的内容打印出来,然后在命令行上运行打印输出,它工作正常,这是微不足道的 我这样调用:ret=system(cmd.c_str()) 如果我这样做:cout经过更多的研究,这个问题与Windows的愚蠢有关。系统调用删除了第一个和最后一个引号,因此我不得不将整个过程用另一组引号括起来……我在这里找到了解决方案:系统返回什么?如果-1由errno设置了什么错误?它不返回-1,我在那块代码之后有一个捕获,以查看ret是什么…它返回1。但是,我可以判断它是否正确运行,
system()
中的内容打印出来,然后在命令行上运行打印输出,它工作正常,这是微不足道的
我这样调用:ret=system(cmd.c_str())代码>
如果我这样做:cout经过更多的研究,这个问题与Windows的愚蠢有关。系统调用删除了第一个和最后一个引号,因此我不得不将整个过程用另一组引号括起来……我在这里找到了解决方案:系统返回什么?如果-1
由errno
设置了什么错误?它不返回-1,我在那块代码之后有一个捕获,以查看ret是什么…它返回1。但是,我可以判断它是否正确运行,因为某些_executable.exe将输出一个file.square文件system()
返回1
意味着它成功调用了您的程序,而程序本身失败了,退出代码1
。我同意,奇怪。但我确信它是围绕着路径中的空间旋转的。删除它工作的空间,添加空间,然后它停止工作。工作的意思是,输出我要找的文件。
"C:\Program Files (x86)\MyProgram\some_executable.exe" "C:\Users\me\Desktop\files"