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)
关闭目录
 
posted @ 2021-02-13 14:05  さくらむすび  阅读(167)  评论(0)    收藏  举报