Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menentukan sama ada fail wujud menggunakan C++?

Bagaimana untuk menentukan sama ada fail wujud menggunakan C++?

WBOY
WBOYasal
2024-06-02 22:43:001254semak imbas

Cara menentukan sama ada fail wujud dalam C++: Gunakan kelas ifstream untuk berjaya membuka fail untuk menunjukkan kewujudan menggunakan fungsi fopen() untuk mengembalikan penunjuk bukan nol untuk menunjukkan kewujudan; () berfungsi untuk menyemak terus sama ada fail itu wujud .

Bagaimana untuk menentukan sama ada fail wujud menggunakan C++?

Menentukan sama ada fail wujud menggunakan C++

Menentukan sama ada fail wujud adalah tugas biasa dalam pengaturcaraan. Terdapat beberapa cara untuk melakukan ini dalam C++.

Kaedah 1: Gunakan kelas ifstream

ifstream digunakan untuk membaca fail. Jika fail wujud, objek ifstream akan berjaya dibuka jika tidak, buka akan gagal. 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;
}

🎜Kaedah 2: Gunakan fungsi fopen()🎜🎜🎜fopen() untuk membuka fail dalam mod baca sahaja. Jika fail wujud, fopen() mengembalikan penunjuk ke fail jika tidak, NULL dikembalikan. 🎜rrreee🎜🎜Kaedah 3: Gunakan std::filesystem::exists()🎜🎜🎜C++17 memperkenalkan pustaka std::filesystem, yang mengandungi exists() Berfungsi untuk menyemak sama ada fail itu wujud. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Andaikan anda mempunyai fail bernama myfile.txt Untuk menyemak sama ada ia wujud, anda boleh menggunakan coretan kod berikut: 🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada fail wujud menggunakan C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn