关于std::filesystem::is_regular_file(path)
,cppreference.com says:
检查给定的文件状态或路径是否对应于常规文件[...]等效于s.type() == file_type::regular
。
例如,在Linux内核中,文件类型在头文件sys/stat.h
中声明。下面列出了每种Linux文件类型的类型名称和符号名称:
- 套接字(S_IFSOCK)
- 符号链接(S_IFLNK)
*常规文件(S_IFREG) - 块特殊文件(S_IFBLK)
- 目录(S_IFORM)
- 字符设备(S_IFFRED)
- FIFO(命名管道)(S_IFIFO)
这个函数在Windows上检查的是什么?
1条答案
按热度按时间omvjsjqw1#
由于我们谈论的是Windows,我们可以考虑标准库的MS实现,这就是他们如何确定文件是否正常:
所以如果它不是
IO_REPARSE_TAG_MOUNT_POINT
、IO_REPARSE_TAG_SYMLINK
或目录,那么它就是一个普通文件。