Linux下目錄訪問函數總結,主要是涉及到的函數,以及所在頭文件。
獲得工作目錄:
#include <unistd.h>
char *getcwd(char *buf,size_t size);char *getwd(char *buf);/*this is for FreeBSD*/
改變當前目錄:
#include <unistd.h>
int chdir(const char *path);
保存當前目錄:
#include <unistd.h>
int fchdir(int fd);
建立新目錄:
#include <sys/type.h>
#include <sys/stat.h>
int mkdir(const char *path,mode_t mode);
刪除目錄:
#include <unistd.h>
int rmdir(const char* path);
打開目錄進行搜索:
#include <sys/type.h>
#include <dirent.h>
DIR *opendir(const char *pathname); int dirfd(DIR *dirp);
關閉目錄:
#include <sys/types.h>
#include <dirent.h> int closedir(DIR *dirp);
搜索目錄:
#include <sys/type.h>
#include <dirent.h>
struct dirent *readdir(DIR *dirp);
重新回到目錄的開始:
#include <sys/type.h>
#include <dirent.h>
void rewinddir(DIR *dirp);
保存目錄中的位置:
#include <sys/type.h>
#include <dirent.h>
long telldir(const DIR *dirp);
在目錄內恢復位置:
#include <sys/type.h>
#include <dirent.h>
void seekdir(DIR *dirp,long loc);
掃描目錄:
#include <sys/type.h>
#include <dirent.h>
int scandir(const char *diename,struct dirent ***namelist,int (*select)(struct dirent *),int (*compar)(const void *,const viod*));
遍歷目錄結構:
#include <ftw.h>
int ftw(const char* path,int(*fn)(const char *obj_path,const struct stat *obj_stat,int obj_flags),int depth);
int nftw(const char* path,int(*fn)(const char *obj_path,const struct stat *obj_stat,int obj_flags,struct FTW obj_FTW),int depth,int flags);
改變根目錄:
#include <unistd.h>
int chroot(const char *dirname);
喜歡請關注: