我必须从我的C程序更改工作目录.为此我使用了以下命令:
execl("/bin/cd","cd","..",(char*)0);
但是这个命令没有改变目录?这个命令有什么问题,还是有其他方法可以从C程序更改工作目录?
Giu*_*one 10
要更改当前目录,您应该使用chdir:
int chdir(const char *path);
Run Code Online (Sandbox Code Playgroud)
成功时返回0.
你不能使用execl有几个原因:
cd 通常是shell内置命令;/bin/cd上不存在; 在极少数拥有它的系统上,它会更改当前目录,然后生成子shell进程;/bin/cd,则在进程终止后,您将丢失目录更改;exec系列的功能,则当前过程映像将替换为新的过程映像 - 您可以使用system,但不会修复之前的3个问题.| 归档时间: |
|
| 查看次数: |
7401 次 |
| 最近记录: |