Maison  >  Article  >  développement back-end  >  Comment obtenir une extension de fichier en utilisant C++ ?

Comment obtenir une extension de fichier en utilisant C++ ?

王林
王林original
2024-06-05 12:23:561038parcourir

Il existe deux façons d'obtenir l'extension de fichier en C++ : Utilisez la fonction de manipulation de chaîne std::find pour trouver le délimiteur d'extension. Utilisez la fonction d'extension de la classe boost::filesystem::path dans la bibliothèque Boost.

Comment obtenir une extension de fichier en utilisant C++ ?

Comment obtenir une extension de fichier en C++

Obtenir une extension de fichier en C++ peut vous aider :

  • Identifier et traiter différents types de fichiers
  • Vérifiez que le nom du fichier d'entrée a une extension valide
  • Fichier d'implémentation archivage et gestion

Méthode 1 : Utiliser les opérations sur les chaînes

Vous pouvez utiliser la fonction de bibliothèque standard std::find pour trouver le dernier point (c'est-à-dire l'extension) dans le séparateur de chemin de fichier). 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;
}

🎜Méthode 2 : Utilisez boost::filesystem🎜🎜🎜Si vous utilisez la bibliothèque Boost, vous pouvez utiliser boost::filesystem::path class code> fonction d'extension. 🎜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