卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

如何使用C++判断文件是否存在?

c++++ 中判断文件是否存在的方法:使用 ifstream 类,成功打开文件表示存在;使用 fopen() 函数,返回非空指针表示存在;使用 std::filesystem::exists() 函数,直接检查文件是否存在。

如何使用C++判断文件是否存在?

使用 C++ 判断文件是否存在

确定文件是否存在是编程中的一项常见任务。在 C++ 中,有多种方法可以实现此操作。

方法 1:使用 ifstream

ifstream 类用于读取文件。如果文件存在,ifstream 对象将成功打开;否则,打开将失败。

#include <fstream>

int main() {
  std::ifstream file("myfile.txt");
  if (file.is_open()) {
    // 文件存在
  } else {
    // 文件不存在
  }
  file.close();
  return 0;
}

方法 2:使用 fopen()

fopen() 函数以只读模式打开文件。如果文件存在,fopen() 将返回指向文件的指针;否则,将返回 NULL。

#include <stdio.h>

int main() {
  FILE *file = fopen("myfile.txt", "r");
  if (file != NULL) {
    // 文件存在
    fclose(file);
  } else {
    // 文件不存在
  }
  return 0;
}

方法 3:使用 std::filesystem::exists()

C++17 引入了 std::filesystem 库,其中包含 exists() 函数来检查文件是否存在。

#include <iostream>
#include <filesystem>

int main() {
  std::filesystem::path path("myfile.txt");
  if (std::filesystem::exists(path)) {
    // 文件存在
  } else {
    // 文件不存在
  }
  return 0;
}

实战案例

假设您有一个名为 myfile.txt 的文件,要检查其是否存在,可以使用以下代码片段:

#include <ifstream>

int main() {
  std::ifstream file("myfile.txt");
  if (file.is_open()) {
    // 在此处处理文件存在的逻辑
    std::cout << "文件存在" << std::endl;
  } else {
    // 在此处处理文件不存在的逻辑
    std::cout << "文件不存在" << std::endl;
  }
  file.close();
  return 0;
}
卓越飞翔博客
上一篇: 使用 Golang 微服务框架创建分布式系统
下一篇: 如何从C++ STL容器中删除元素?
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏