如何在功能系统中使用命令()

How to use command in function system()

本文关键字:命令 功能 系统      更新时间:2023-10-16

我想使用系统(" cd ")函数转到root Directory,但它不起作用,因为因为我想创建一个文件夹系统(" MD exkepppp");在此路径中,创建了一个文件夹,我有一个程序。

您的问题是,"当前目录"是一个人为属性(尽管子进程将其父级的当前目录作为初始设置继承)。system函数创建了一个shell进程,该过程执行cd命令(从而更改了Shell进程的当前目录),然后退出。父进程的当前目录(您的程序)永远不会更改。

查看_chdir函数(或POSIX chdir

编辑:您肯定在Windows上 - 您甚至将其放在标签中!

我想使用系统(" cd ")函数将 目录但行不通,因为我想创建一个文件夹 系统(" MD Extecppp");

在调用系统之前,将两个(或多个)命令合并到一个由半隆分开的命令中。

即。

 std::string cmd = "cd /home/dmoen ; mkdir examplecpp ; ls -lsa ";
 std::cout << "nsystem command: " << cmd << "n" << std::endl;
 std::system (cmd.c_str());

课程 - CMD字符串看起来就像您要在命令提示符上输入一样。在测试过程中,您可能决定包括一个" RMDIR estecppp",因为" Mkdir"抱怨是否已经存在。

输出(毫无兴趣的东西剪切):

system command: cd /home/dmoen ; mkdir examplecpp ; ls -lsa 
total 402216
     4 drwxr-xr-x 105 dmoen dmoen      4096 Dec 23 11:42 .
     4 drwxr-xr-x   5 root  root       4096 Jan  3  2016 ..
    [snip]
     4 drwxrwxr-x   2 dmoen dmoen      4096 Dec 23 11:42 examplecpp
    [snip]