文件系统库
来自 cppreference.cn
文件系统库 (ISO/IEC TS 18822:2015) 提供了对文件系统及其组件(例如路径、常规文件和目录)执行操作的功能。
此库是一个可选的技术规范,如果实现无法访问分层文件系统,或无法提供必要功能,则可能不可用。如果底层文件系统不支持某些功能(例如 FAT 文件系统没有硬链接、软链接和其他功能),则这些功能可能不可用。
如果对该库中函数的调用引入了文件系统竞争,即当多个线程、进程或计算机交叉访问和修改文件系统中的同一对象时,其行为是未定义的。
该库直接基于boost.filesystem,后者目前在更多编译器和平台上可用,而非此实验性技术规范。
目录 |
[编辑] 库范围定义
- 文件:一种文件系统对象,用于保存数据,可进行写入、读取或两者兼有。文件具有名称、属性,其中之一是文件类型。
- 目录:一种文件,用作目录条目的容器,这些条目标识其他文件(其中一些可能是其他嵌套目录)。当讨论特定文件时,它作为条目出现的目录是其父目录。父目录可以用相对路径名".."表示。
- 硬链接:一个将名称与现有文件关联的目录条目。如果支持多个硬链接,则在删除最后一个硬链接后,文件将被删除。
- 符号链接:一个将名称与路径关联的目录条目,该路径可能存在,也可能不存在。
- 常规文件:不是其他文件类型之一的文件。
- 文件名:命名文件的字符串。允许的字符、大小写敏感性、最大长度以及不允许的名称是实现定义的。名称.(点)和..(点-点)在库级别具有特殊含义。
- 路径:标识文件的一系列元素。它以可选的根名称(例如"C:"或"//server")开头,后跟可选的根目录(例如 Unix 上的"/"),再后跟零个或多个文件名序列(除最后一个外,所有这些都必须是目录或指向目录的链接)。路径的字符串表示(路径名)的本机格式(例如用作分隔符的字符)和字符编码是实现定义的,此库提供了路径的可移植表示。
- 绝对路径:明确标识文件位置的路径。
- 规范路径:不包含符号链接、"."或".."元素的绝对路径。
- 相对路径:相对于文件系统上某个位置标识文件的路径。特殊路径名.(点,“当前目录”)和..(点-点,“父目录”)是相对路径。
[编辑] 类
表示一个路径 (类) | |
文件系统错误时抛出的异常 (类) | |
目录项 (类) | |
指向目录内容的迭代器 (类) | |
指向目录及其子目录内容的迭代器 (类) | |
表示文件类型和权限 (类) | |
关于文件系统空闲和可用空间的信息 (类) | |
文件类型 (枚举) | |
标识文件系统权限 (枚举) | |
指定复制操作的语义 (枚举) | |
迭代目录内容的选项 (枚举) | |
表示文件时间值 (类型定义) |
[编辑] 非成员函数
组成一个绝对路径 将路径转换为绝对路径,复制操作系统特定行为 (函数) | |
组成一个规范路径 (函数) | |
复制文件或目录 (函数) | |
复制文件内容 (函数) | |
复制一个符号链接 (函数) | |
创建新目录 (函数) | |
创建硬链接 (函数) | |
创建符号链接 (函数) | |
返回当前工作目录 (函数) | |
检查路径是否引用现有文件系统对象 (函数) | |
检查两个路径是否引用相同的文件系统对象 (函数) | |
返回文件大小 (函数) | |
返回引用特定文件的硬链接数量 (函数) | |
获取或设置最后数据修改时间 (函数) | |
修改文件访问权限 (函数) | |
获取符号链接的目标 (函数) | |
删除文件或空目录 删除文件或目录及其所有内容,递归进行 (函数) | |
移动或重命名文件或目录 (函数) | |
通过截断或零填充更改常规文件的大小 (函数) | |
确定文件系统上可用的空闲空间 (函数) | |
确定文件属性 确定文件属性,检查符号链接目标 (函数) | |
返回适合临时文件的目录 (函数) | |
文件类型 | |
检查给定路径是否引用块设备 (函数) | |
检查给定路径是否引用字符设备 (函数) | |
检查给定路径是否引用目录 (函数) | |
检查给定路径是否引用空文件或目录 (函数) | |
检查给定路径是否引用命名管道 (函数) | |
检查参数是否引用“其他”文件 (函数) | |
检查参数是否引用常规文件 (函数) | |
检查参数是否引用命名 IPC 套接字 (函数) | |
检查参数是否引用符号链接 (函数) | |
检查文件状态是否已知 (函数) |
[编辑] 参见
C++ 文档,关于文件系统库 (C++17)
|