-
chdir
鎖定
chdir 是C語言中的一個系統調用函數(同cd),用於改變當前工作目錄,其參數為Path 目標目錄,可以是絕對目錄或相對目錄。
- 中文名
- chdir
- 功 能
- 改變當前工作目錄
- 頭文件
- unistd.h
- 用 法
- int chdir(const char *path);
目錄
- 1 函數簡介
- 2 程序示例
- ▪ VC++6.0示例
- ▪ TC2.0下程序示例
- ▪ unixlinux中的用法
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的不一樣