使用system命令在windows下从ac程序内部更改目录

Abd*_*lah 7 c c++ windows system

我有一个问题,我必须从C程序内部运行命令提示符命令.这就是我做的

#include<stdio.h>
#include<stdlib.h>


int main(){



system("cd \Users");
system("Dir");

}
Run Code Online (Sandbox Code Playgroud)

问题是我想首先cd到用户然后执行命令Dir,其中当前程序输出它无法找到指定的路径,并且Dir在父进程目录中执行,即程序源文件所在的位置.

我想要做的实际任务只是想从C程序内部的特定目录运行一个java文件.该java文件位于C:\ Users\Abdullah\pro中.我的C程序的父目录是C:\ Users\Cprog.请告知我该怎么做

Ign*_*ams 5

system()开始一个新的过程.此新进程更改当前目录,然后结束.程序进程的当前目录不会更改.

你想要chdir()(或_chdir()).


Pro*_*ica 5

你的程序有一些不正确的假设.首先,"cd"和"dir"不是程序,而是内置在shell中的命令cmd.exe.其次,我怀疑你根本不需要改变当前目录.

无论哪种方式,因为这是一个Windows系统,我将看一个如何使用CreateProcess()启动程序的示例.

要更改当前目录,请查看CreateProcess()调用的lpCurrentDirectory参数.