C- 在 Windows 中使用 exec()

标签 c windows cygwin exec

我已经看到很多关于 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/

相关文章:

c - if 语句中的 sizeof() 运算符

java - 以编程方式或通过命令行分析 SSL 证书

c - 从地址获取套接字描述符?

python - 转换 POSIX->WIN 路径,在 Cygwin Python 中,不调用 cygpath

c - 使用指针和寻址技术显示数组的特定行

c++ - DirectShow - 选择视频设备

c++ - CMake 无法确定目标的链接器语言 - C++

windows - 如何在 Windows 上保持 ssh 连接打开并将其与 perl 一起使用?

shell - 简单的 shell 脚本可以在 cygwin 中运行,但不能在 solaris 上运行

c - 如何为 C 添加 PGPLOT?