我可以使用 system() 命令在子目录中工作吗?

标签 c system

我是编程方面的新手,我只是在问自己,我是否可以使用 system() 命令在文件夹之间切换并在那里工作,就像我自己在终端中输入命令时所做的那样.

这不是那种非常重要的问题,但很高兴知道。

最佳答案

您可以执行以下操作:system ("cd/path/to/dir; pwd");。也就是说,通过分号分隔命令。尽管一旦函数返回,目录更改将不再适用。这是因为 system 命令会生成一个新进程来执行您在参数中输入的任何内容。一旦进程终止,东西就会丢失。因此,此目录更改适用于 system 生成的进程,不适用于调用 system 的程序的工作目录。

不过,根据您的目的,我建议您结合使用 forkexec 系列和 chdir

关于我可以使用 system() 命令在子目录中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37046516/

相关文章:

c++ - 编译器之间的浮点二进制布局

c - 从 Cygwin/POSIX 打开 URL?

缓存模拟器::命中与未命中问题

java - Java 接受外文字母吗?

linux - 如何编写 stap (systemtap) 脚本来查看某个进程是否调用了特定的内核函数?

c++ - C/C++预处理器宏可以有默认参数值吗?

c - 函数声明

C++/Windows - : system ("dir\\b *.dat > tmp.txt") 的含义

java - 如何获取文件扩展名?

ruby-on-rails - Ruby on Rails 身份验证指南