0

我都试过了system()popen()。当我在 cygwin 终端上运行该程序时,它工作得非常好,但是当我尝试通过双击 .exe 文件在 Windows 平台上运行它时,我得到了这个错误: exception::handle: Exception: STATUS_ACCESS_VIOLATION 我得到这个错误popen()但是我没有得到任何错误system()

我正在运行适用于 unix 和 windows 操作系统的简单命令,例如:

system("echo foo>foo.txt");

我在这里做错了什么?

4

1 回答 1

2

我认为这是因为两者都system()popen()它们的参数传递给/bin/sh路径中没有的参数,您可以尝试先将其添加到路径中。据此,您的路径中需要以下内容

cyggcc_s-1.dll
cygiconv-2.dll 
cygintl-8.dll 
cygncursesw-10.dll 
cygreadline7.dll 
cygwin1.dll
ls.exe 
sh.exe
于 2013-02-01T07:01:28.313 回答