Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan sambungan fail menggunakan C++?

Bagaimana untuk mendapatkan sambungan fail menggunakan C++?

王林
王林asal
2024-06-05 12:23:561038semak imbas

Terdapat dua cara untuk mendapatkan sambungan fail dalam C++: Gunakan fungsi manipulasi rentetan std::find untuk mencari pembatas sambungan. Gunakan fungsi sambungan daripada kelas boost::filesystem::path dalam perpustakaan Boost.

Bagaimana untuk mendapatkan sambungan fail menggunakan C++?

Cara untuk mendapatkan sambungan fail dalam C++

Dapatkan sambungan fail dalam C++ boleh membantu anda:

  • Kenal pasti dan proses jenis fail yang berbeza
  • Sahkan bahawa sambungan nama fail input
  • Saya mempunyai nama fail input. pengarkiban dan pengurusan

Kaedah 1: Gunakan operasi rentetan

Anda boleh menggunakan fungsi perpustakaan standard std::find untuk mencari titik terakhir (iaitu sambungan) dalam pemisah laluan fail).

#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;
}
std::find 来查找文件路径中的最后一个点(即扩展名分隔符)。

#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;
}

方法二:使用 boost::filesystem

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

Kaedah 2: Gunakan boost::filesystem🎜🎜🎜Jika anda menggunakan perpustakaan Boost, anda boleh menggunakan boost::filesystem::path class code> fungsi sambungan. 🎜rreeee

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan sambungan fail 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