• 周六. 10 月 12th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

Linux C/C++编程之(十五)目录操作相关函数

King Wang

1 月 3, 2022

文章目录

    • 一、概述
    • 二、相关函数
      • 1. getcwd
      • 2. chdir
      • 3. mkdir
      • 4. rmdir
      • 5. opendir
      • 6. readdir
      • 7. closedir
      • 8. dup2
      • 9. dup
      • 10. errno
      • 11. fcntl

一、概述

在这里插入图片描述

二、相关函数

1. getcwd

  • 函数作用:获取当前目录
  • 头文件
    在这里插入图片描述
    参数说明:
  • buf传出参数,路径
  • size缓冲区大小

返回值

  • 成功:返回路径的指针
  • 失败:返回NULL

2. chdir

  • 函数作用:改变工作路径
  • 头文件
    在这里插入图片描述

函数参数:

  • path对应的目标工作路径

返回值

  • 成功:返回0
  • 失败:返回-1,设置errno

注意:改变工作路径-注意属于进程独有。
在这里插入图片描述
在这里插入图片描述

3. mkdir

  • 函数作用:创建目录
  • 头文件
    在这里插入图片描述

参数说明:

  • pathname创建的目录路径
  • mode目录权限 (mode & ~umask & 01777),注意权限,如果目录没有可执行权限,不可进入

返回值

  • 成功:返回0
  • 失败:返回-1,设置errno

4. rmdir

  • 函数作用:只能删除空文件夹

5. opendir

  • 函数作用:打开目录
  • 头文件
    在这里插入图片描述

参数说明:

  • pathname打开的目录

返回值

  • 成功:返回指向该目录流的指针
  • 失败:返回-1,设置errno

6. readdir

  • 函数作用:读目录
  • 头文件
    在这里插入图片描述

参数说明:

  • dirp传入参数,opendir返回的指针

返回值

  • 成功:读到目录项的内容
  • 失败:NULL代表读到末尾或者有错误

在这里插入图片描述

7. closedir

  • 函数作用:关闭目录
  • 头文件
    在这里插入图片描述

函数参数:

  • dirp传入参数,opendir返回的指针

返回值

  • 成功:返回0
  • 失败:返回-1,设置errno

需求:统计一下指定目录下的文件个数?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. dup2

  • 函数作用:文件描述符重定向
  • 头文件
    在这里插入图片描述

参数说明:

  • 关闭newfd对应的文件描述符,将newfd重新指向为old对应的文件

返回值

  • 成功:返回0
  • 失败:返回-1,设置errno

9. dup

  • 函数作用:复制文件描述符
  • 头文件
    在这里插入图片描述

参数说明:

  • 新返回一个文件描述符指向oldfd对应的文件

返回值

  • 成功:返回0
  • 失败:返回-1,设置errno

需求:在代码中执行2次 printf("hello world\n"); 一次输出到hello文件,后一次输出到屏幕上?
在这里插入图片描述
在这里插入图片描述

10. errno

  • 函数作用:输出函数,根据errnum得到相应的错误信息
  • 头文件
    在这里插入图片描述

11. fcntl

  • 改变已经打开的文件的属性
  • 打开文件的时候: 只读
  • 修改文件的: 添加追加 O_APPEND
    在这里插入图片描述

发表回复