複製鏈接
請複製以下鏈接發送給好友

chdir

鎖定
chdir 是C語言中的一個系統調用函數(同cd),用於改變當前工作目錄,其參數為Path 目標目錄,可以是絕對目錄或相對目錄。
中文名
chdir
功 能
改變當前工作目錄
頭文件
unistd.h
用 法
int chdir(const char *path);

chdir函數簡介

功 能:更改當前工作目錄。
參 數:Path 目標目錄,可以是絕對目錄或相對目錄。
返回值:成功返回0 ,失敗返回-1
異 常 :
異常類型
錯誤號
條件
ArgumentException
52
Path 為空
FileNotFoundException
76
指定的驅動器無效,或驅動器不可用
備 注:dos/windows下 chdir 函數更改默認目錄,但是不更改默認驅動器。例如,如果默認驅動器是 C,下面的語句更改驅動器 D 上的默認目錄,但 C 仍為默認驅動器:
安全注意:  ChDir 函數需要非託管代碼權限,這可能會對它在部分信任情況下的執行產生影響。有關更多信息,請參見 SecurityPermission 類和代碼訪問權限。
在文件I/O操作中,My 功能具有比 ChDir 函數更高的效率和更好的性能。

chdir程序示例

chdirVC++6.0示例

#include<stdlib.h>
intmain(intargc,char*argv[])
{
charpath[_MAX_PATH];
_getcwd(path,_MAX_PATH);
printf("當前工作目錄:\n%s\n",path);
if((_chdir("d:\\visualc++"))==0)
{
printf("修改工作路徑成功\n");
_getcwd(path,_MAX_PATH);
printf("當前工作目錄:\n%s\n",path);
}
else
{
perror("修改工作路徑失敗");
exit(1);
}
return0;
}

chdirTC2.0下程序示例

#include<stdio.h>
#include<dir.h>/*高版本的編譯器可能沒有這個頭文件*/
#include<stdlib.h>
charold_dir[MAXDIR];
charnew_dir[MAXDIR];
intmain(void)
{
if(getcurdir(0,old_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Currentdirectoryis:\\%s\n",old_dir);
if(chdir("\\"))
{
perror("chdir()");
exit(1);
}
if(getcurdir(0,new_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Currentdirectoryisnow:\\%s\n",new_dir);
printf("\nChangingbacktoorignaldirectory:\\%s\n",old_dir);
if(chdir(old_dir))
{
perror("chdir()");
exit(1);
}
return0;
}

chdirunixlinux中的用法

#include<stdio.h>
#include<unistd.h>//這裏與windows的不一樣