Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann mit C++ festgestellt werden, ob eine Datei vorhanden ist?

Wie kann mit C++ festgestellt werden, ob eine Datei vorhanden ist?

WBOY
WBOYOriginal
2024-06-02 22:43:001036Durchsuche

So ermitteln Sie, ob eine Datei in C++ vorhanden ist: Verwenden Sie die ifstream-Klasse, um die Datei erfolgreich zu öffnen, um ihre Existenz anzuzeigen; verwenden Sie die Funktion fopen(), um einen Nicht-Null-Zeiger zurückzugeben, um ihre Existenz anzuzeigen; () Funktion zum direkten Überprüfen, ob die Datei vorhanden ist.

Wie kann mit C++ festgestellt werden, ob eine Datei vorhanden ist?

Bestimmen, ob eine Datei mit C++ vorhanden ist

Bestimmen, ob eine Datei vorhanden ist, ist eine häufige Aufgabe in der Programmierung. In C++ gibt es mehrere Möglichkeiten, dies zu tun.

Methode 1: Verwenden Sie die Klasse ifstream

ifstream zum Lesen von Dateien. Wenn die Datei vorhanden ist, wird das ifstream-Objekt erfolgreich geöffnet, andernfalls schlägt das Öffnen fehl. 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;
}

🎜Methode 2: Verwenden Sie die Funktion fopen()🎜🎜🎜fopen(), um die Datei im schreibgeschützten Modus zu öffnen. Wenn die Datei vorhanden ist, gibt fopen() einen Zeiger auf die Datei zurück; andernfalls wird NULL zurückgegeben. 🎜rrreee🎜🎜Methode 3: Verwenden Sie std::filesystem::exists()🎜🎜🎜C++17 hat die Bibliothek std::filesystem eingeführt, die exists()enthält > Funktion zum Überprüfen, ob die Datei vorhanden ist. 🎜rrreee🎜🎜Praktischer Fall🎜🎜🎜Angenommen, Sie haben eine Datei mit dem Namen myfile.txt. Um zu überprüfen, ob sie existiert, können Sie den folgenden Codeausschnitt verwenden: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie kann mit C++ festgestellt werden, ob eine Datei vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn