21xrx.com
2024-11-22 11:14:22 Friday
登录
文章检索 我的文章 写文章
C++如何判断文件是否存在?
2023-06-23 01:44:05 深夜i     --     --
C++ 判断 文件 存在

在C++中,要判断一个文件是否存在,可以使用文件流对象ifstream,它包含了文件的输入功能,并且可以通过判断文件是否打开成功来判断文件是否存在。

首先,要包含 头文件,然后创建一个ifstream对象,并在构造函数中传入文件路径和文件名。

接着,使用ifstream对象的成员函数fail()来判断文件是否打开成功。如果文件打开失败,即文件不存在,则该函数返回true,否则返回false。

下面是示例代码:

#include

#include

using namespace std;

int main()

{

  string fileName = "example.txt";

  ifstream infile(fileName.c_str());

  if (infile.fail())

    cout << "文件不存在" << endl;

   else

    cout << "文件存在" << endl;

  infile.close();

  return 0;

}

以上代码首先将文件名赋值给字符串fileName,然后通过c_str()函数将其转换为C语言风格的字符串类型,并传入ifstream对象的构造函数中。

接着通过判断fail()函数的返回值来判断文件是否存在,并输出结果。最后,记得关闭文件流对象。

除了使用文件流对象判断文件是否存在,还可以使用C++17中引入的filesystem库来判断。它提供了文件系统操作相关的函数和类型,使用起来很方便。

下面是示例代码:

#include

#include

using namespace std;

namespace fs = std::filesystem;

int main()

{

  string fileName = "example.txt";

  if (fs::exists(fileName))

    cout << "文件存在" << endl;

   else

    cout << "文件不存在" << endl;

  return 0;

}

以上代码中,使用了C++17中的filesystem库,并定义了一个别名fs来简化使用。接着,使用exists()函数判断文件是否存在,并输出结果。

无论是使用文件流对象还是使用filesystem库来判断文件是否存在,都非常方便。开发者可以根据自己的需求来选择适合自己的方式。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复