Maison >développement back-end >C++ >Comment déterminer si un fichier existe en C++ ?

Comment déterminer si un fichier existe en C++ ?

WBOY
WBOYoriginal
2024-06-02 22:43:001247parcourir

Comment déterminer si un fichier existe en C++ : utilisez la classe ifstream pour ouvrir le fichier avec succès pour indiquer son existence ; utilisez la fonction fopen() pour renvoyer un pointeur non nul pour indiquer l'existence ; utilisez std::filesystem::exists ; () fonction pour vérifier directement si le fichier existe.

Comment déterminer si un fichier existe en C++ ?

Déterminer si un fichier existe en utilisant C++

Déterminer si un fichier existe est une tâche courante en programmation. Il existe plusieurs façons de procéder en C++.

Méthode 1 : Utiliser ifstream

La classe ifstream est utilisée pour lire les fichiers. Si le fichier existe, l'objet ifstream s'ouvrira avec succès, sinon l'ouverture échouera. 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;
}

🎜Méthode 2 : Utilisez la fonction fopen()🎜🎜🎜fopen() pour ouvrir le fichier en mode lecture seule. Si le fichier existe, fopen() renvoie un pointeur vers le fichier ; sinon, NULL est renvoyé. 🎜rrreee🎜🎜Méthode 3 : Utiliser std::filesystem::exists()🎜🎜🎜C++17 a introduit la bibliothèque std::filesystem, qui contient exists() Fonction pour vérifier si le fichier existe. 🎜rrreee🎜🎜Cas pratique🎜🎜🎜Supposons que vous ayez un fichier nommé monfichier.txt Pour vérifier s'il existe, vous pouvez utiliser l'extrait de code suivant : 🎜rrreee.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn