我已经尝试了system()
和popen()
。当我在 cygwin 终端上运行该程序时,它工作得很好,但是当我尝试通过双击 .exe 文件在 Windows 平台上运行它时,出现此错误:
异常::句柄:异常:STATUS_ACCESS_VIOLATION
我在 popen()
上收到此错误,但在 system()
上没有收到任何错误。
我正在运行可在 UNIX 和 Windows 操作系统上运行的简单命令,例如:
system("echo foo>foo.txt");
我在这里做错了什么?
最佳答案
我认为这是因为 system()
和 popen()
都将它们的参数传递给 /bin/sh
而你却没有路径中有,您可以尝试先将其添加到路径中。根据this您的路径中需要以下内容:
cyggcc_s-1.dll
cygiconv-2.dll
cygintl-8.dll
cygncursesw-10.dll
cygreadline7.dll
cygwin1.dll
ls.exe
sh.exe
关于Cygwin-尝试用C语言运行DOS命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641191/