我已经看到很多关于 unix 系统的结果。我使用的是 cygwin,所以我使用的是 unistd.h
库。我正在尝试运行此命令,但它没有运行。我在这里可能会遗漏什么?
execl("C:\\WINDOWS\\SYSTEM32\\CMD.EXE", "/c echo foo>C:\\Users\\Sarp\\Desktop\\foo.txt");
最佳答案
execl
function call 不会为您拆分论点。这基本上意味着您需要在调用函数时将每个命令行参数分隔为不同的字符串参数。例如:
execl("C::\\WINDOWS\\SYSTEM32\\CMD.EXE", "cmd.exe", "/c",
"echo", "foo", ">C:\\Users\\Sarp\\Desktop\\foo.txt")
但是,我的印象是输出重定向可能不起作用(取决于 Windows shell 如何解释它们),所以我鼓励您尝试 the system()
function这更类似于您的用例。
关于C- 在 Windows 中使用 exec(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679058/