linux目录操作相关函数
1.int rename(const char *oldpath,const char *newpath)
文件重命名
参数:
oldpath:旧文件名或路径
newpath:新文件名或路径
2.int chdir(const char *path)
修改当前进程的(应用程序)的路径,相当于shell命令中的cd命令
参数:
path:切换的路径
3.char *getcwd(char *buf,size_t size)
获取当前进程的工作目录,相当于pwd
参数:
buf,缓冲区,存储当前的工作目录
size:缓冲区的大小
返回值:
成功:当前的工作目录
失败:NULL
4.int mkdir(const char *pathname,mode_t mode)
创建目录
参数:
pathname:创建的目录名
mode:目录权限,八进制数(实际权限为:mode&~umask)
5.int rmdir(const char *pathname)
删除一个空目录
参数:
空目录的名字
6.DIR *opendir(const char *name);
打开一个目录
参数:
name:目录名
返回值:
指向目录的指针
7.struct dirent *readdir(DIR *dirp)
读取一个目录
参数:
dirp:opendir的返回值
返回值:
目录项结构体
struct dirent
{
ino_t d_ino; // 此目录进入点的inode
ff_t d_off; // 目录文件开头至此目录进入点的位移
signed short int d_reclen; // d_name 的长度, 不包含NULL 字符
unsigned char d_type; // d_name 所指的文件类型
har d_name[256]; // 文件名
};
d_type:
DT_BLK - 块设备
DT_CHR - 字符设备
DT_DIR - 目录
DT_LNK - 软连接
DT_FIFO - 管道
DT_REG - 普通文件
DT_SOCK - 套接字
DT_UNKNOWN - 未知
8.int closedir(DIR *dirp)
关闭目录

浙公网安备 33010602011771号