ホームページ  >  記事  >  バックエンド開発  >  C++を使用してファイル拡張子を取得するにはどうすればよいですか?

C++を使用してファイル拡張子を取得するにはどうすればよいですか?

王林
王林オリジナル
2024-06-05 12:23:561038ブラウズ

C++ でファイル拡張子を取得するには 2 つの方法があります: 文字列操作関数 std::find を使用して拡張子の区切り文字を検索します。 Boost ライブラリの boost::filesystem::path クラスの拡張関数を使用します。

C++を使用してファイル拡張子を取得するにはどうすればよいですか?

C++ でファイル拡張子を取得する方法

C++ でファイル拡張子を取得すると、次のことが役立ちます:

  • さまざまなファイルタイプを識別して処理する
  • 入力ファイル名に有効な拡張子があることを確認する
  • ファイルを実装するアーカイブと管理

方法 1: 文字列操作を使用する

標準ライブラリ関数 std::find を使用して、ファイル パス区切り文字の最後のドット (つまり、拡張子) を見つけることができます。 std::find 来查找文件路径中的最后一个点(即扩展名分隔符)。

#include <iostream>
#include <string>

std::string get_file_extension(const std::string& filename) {
  auto last_dot = filename.find_last_of('.');
  if (last_dot == std::string::npos) {
    return "";  // 没有扩展名
  }
  return filename.substr(last_dot + 1);
}

int main() {
  std::string filename = "example.txt";
  std::cout << "File extension: " << get_file_extension(filename) << std::endl;
  return 0;
}

方法二:使用 boost::filesystem

如果你使用的是 Boost 库,可以使用 boost::filesystem::path 类中的 extension

#include <boost/filesystem.hpp>

std::string get_file_extension(const std::string& filename) {
  boost::filesystem::path path(filename);
  return path.extension().string();
}

int main() {
  std::string filename = "example.txt";
  std::cout << "File extension: " << get_file_extension(filename) << std::endl;
  return 0;
}

🎜方法 2: boost::filesystem を使用します🎜🎜🎜 Boost ライブラリを使用している場合は、boost::filesystem::path クラス コード> を使用できます。拡張関数。 🎜りー

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。