ホームページ > バックエンド開発 > C++ > C++ を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?

C++ を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?

WBOY
リリース: 2024-06-02 22:43:00
オリジナル
1253 人が閲覧しました

C++ でファイルが存在するかどうかを確認する方法: ファイルを正常に開くには ifstream クラスを使用し、存在を示すには fopen() 関数を使用し、null 以外のポインターを返します。 () 関数を使用して、ファイルが存在するかどうかを直接確認します。

C++ を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?

C++ を使用してファイルが存在するかどうかを判断する

ファイルが存在するかどうかを判断することは、プログラミングにおける一般的なタスクです。 C++ でこれを行うには、いくつかの方法があります。

方法 1: ifstream を使用する

ifstream クラスを使用してファイルを読み取ります。ファイルが存在する場合、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;
}
ログイン後にコピー
🎜方法 2: fopen()🎜🎜🎜fopen() 関数を使用して、ファイルを読み取り専用モードで開きます。ファイルが存在する場合、fopen() はファイルへのポインタを返し、存在しない場合は NULL を返します。 🎜rrreee🎜🎜方法 3: std::filesystem::exists() を使用する🎜🎜🎜C++17 では、exists()を含む std::filesystem ライブラリが導入されました。 > ファイルが存在するかどうかを確認する機能。 🎜rrreee🎜🎜実際的なケース🎜🎜🎜 myfile.txt という名前のファイルがあるとします。それが存在するかどうかを確認するには、次のコード スニペットを使用できます: 🎜rrreee

以上がC++ を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート