C语言目录操作 (Linux/Unix)


获得工作目录:#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);

重新回到目录的开始:#<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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值