//Author : cppgp
//Email?? : cppgp@163.com
//Time??? : 2007 03 30
//按照字母順序排列
1 . int _access( const char *path, int mode );
功?? 能 : 測定文件/目錄存取權限.
頭文件 : #include <io.h>
參?? 數 : path:文件或者目錄
?? mode:權限設定,其值如下:
?? 00 Existence only
?? 02 Write permission
?? 04 Read permission
?? 06 Read and write permission
返回值 : 擁有該權限返回0
?? 沒有權限返回-1,且設置errno為如下值
?? ENOENT 路徑/文件不存在
?? EACCES 沒有相應權限
2 . int _chdir( const char *dirname );
功?? 能 : 更改當前工作目錄.
頭文件 : #include <direct.h>
返回值 : 成功返回0
?? 失敗返回-1,且設置errno如下:
?? ENOENT 該路徑不存在
3 . int _chdrive( int drive );
功?? 能 : 更改當前工作驅動器.
頭文件 : #include <direct.h>
返回值 : 成功返回0
?? 失敗返回-1
注?? 釋 : 參數說明
???? drive =1<==> A盤
???? drive =2<==> B盤
???? drive =3<==> C盤
?? 如此等等,該函數可以由_chdir代替
4 . int _findclose( long handle );
功?? 能 : 關閉搜尋句柄并釋放相應資源
頭文件 : #include <io.h>
參?? 數 : long handle 搜索句柄(通常由緊靠其前的_findfirst()返回,_findfirst()見下)
?? fileinfo 文件信息buffer
返回值 : 成功返回0
?? 出錯返回-1,且設置errno為如下值
?? ENOENT 沒有更多的符合該泛式的文件
5 . long _findfirst( char *filespec, struct _finddata_t *fileinfo );
功?? 能 : 提供與filespec指定入口泛式匹配的第一個文件.通常后繼用_findnext函數后續使用來完成某泛式下的文件遍歷.
頭文件 : #include <io.h>
參?? 數 : filespec 目標文件規范,可以包含通配符
?? fileinfo 文件信息buffer
返回值 : 成功返回唯一的搜索句柄
?? 出錯返回-1,且設置errno為如下值
?? ENOENT 該泛式無法匹配
?? EINVAL 無效文件名
6 . int _findnext( long handle, struct _finddata_t *fileinfo );
功?? 能 : 按照前面_findfirst中的泛式規則,查找下一個符合該泛式的文件,并以 此為依據修改fileinfo中的值
頭文件 : #include <io.h>
參?? 數 : long handle 搜索句柄(通常由緊靠其前的_findfirst()返回)
?? fileinfo 文件信息buffer
返回值 : 成功返回0
?? 出錯返回-1,且設置errno為如下值
?? ENOENT 沒有更多的符合該泛式的文件
7 . char *_getcwd( char *buffer, int maxlen );
功?? 能 : 獲得當前工作目錄.
頭文件 : #include <direct.h>
返回值 : 成功返回指向buffer的pointer
?? 失敗返回NULL,且設置errno為以下三個值之一:
?? ENODEV 無該設備
?? ENOMEM 內存不夠
?? ERANGE 結果超出范圍
注?? 意 : 當第一個參數為 NULL 時,第二個參數 maxlen 長度設置無效,且函數使用malloc分配足夠內存,需要將函數返回值傳遞給free()函數來釋放內存.
?? 當第一個參數不為 NULL 時,maxlen 指定長度不夠函數返回錯,設置errno為ERANGE
8 . char *_getdcwd( int drive, char *buffer, int maxlen );
功?? 能 : 獲得指定驅動器的當前工作路徑.
頭文件 : #include <direct.h>
返回值 : 成功返回指向buffer的pointer
?? 失敗返回NULL,且設置errno為以下三個值之一:
?? ENODEV 無該設備
?? ENOMEM 內存不夠
?? ERANGE 結果超出范圍
注?? 意 : 當第一個參數為 NULL 時,該函數設置errno為ERANGE
9 . int _getdrive( void );
功?? 能 : 獲得當前磁盤驅動器.
頭文件 : #include <direct.h>
返回值 : 返回驅動器值,1<==>A 2<==>B 如此等等;函數不會出錯!
10 . unsigned long _getdrives(void);
功?? 能 : 獲得當前所有驅動器.
頭文件 : #include <direct.h>
返回值 : 各個位代表對應驅動器,
?? bit 0 <==> A
?? bit 1 <==> B
?? bit 2 <==> C
?? ... ...
注:bit x 表示unsigned long的第x位
11 . int _mkdir( const char *dirname );
功?? 能 : 創建一個新目錄,目錄名為dirname.
頭文件 : #include <direct.h>
返回值 : 成功返回0
?? 失敗返回-1,且設置errno為以下三個值之一
?? EACCESS 權限不允許
?? EEXIST?? 該目錄已存在
?? ENOENT?? 無該文件或目錄
12 . int _rmdir( const char *dirname );
功?? 能 : 刪除名為dirname的目錄.
頭文件 : #include <direct.h>
返回值 : 成功返回0
?? 失敗返回-1,且設置errno為以下三個值之一
?? EACCESS??? 權限不允許
?? ENOTEMPTY dirname不是文件夾;
????? 或者該文件夾不空;
????? 或者dirname為當前工作文件夾;
????? 或者dirname為當根文件夾;
?? ENOENT???? 無該文件或目錄
//--end--
//如有錯誤,希望指出!
//聯系 : cppgp@163.com