std::filesystem提供了std::filesystem::exist方法用于判断文件或者文件夹是否存在

1 函数原型

std::filesystem::exist函数原型如下

bool exists( std::filesystem::file_status s ) noexcept;
bool exists( const std::filesystem::path& p );
bool exists( const std::filesystem::path& p, std::error_code& ec ) noexcept;

该函数用于检测所给定的文件路径或者文件状态是否是已经存在的文件或者文件夹。

该函数主要有以下三个函数参数:

  • s:文件状态,std::filesystem::file_status对象
  • p:文件路径,std::filesystem::path类型
  • ec:错误码,std::error_code类型

如果文件或者文件夹存在则返回true,不存在则返回false。

2 使用示例

#include<iostream>
#include <filesystem>

int main()
{
    std::string file_path = "E:\\example.txt";

    if (std::filesystem::exists(std::filesystem::path(file_path)))
    {
        std::cout << "文件存在" << std::endl;
    }
    else
    {
        std::cout << "文件不存在" << std::endl;
    }

    return 0;
}

参考