首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从C++中的字符串获取文件扩展名

要从C++中的字符串获取文件扩展名,可以使用以下方法:

  1. 使用C++标准库中的stringalgorithm库。
代码语言:cpp
复制
#include<iostream>
#include<string>
#include<algorithm>

std::string get_file_extension(const std::string& file_name) {
    std::string extension = "";
    size_t last_dot = file_name.find_last_of('.');
    if (last_dot != std::string::npos) {
        extension = file_name.substr(last_dot + 1);
    }
    return extension;
}

int main() {
    std::string file_name = "example.txt";
    std::string extension = get_file_extension(file_name);
    std::cout << "File extension: "<< extension<< std::endl;
    return 0;
}
  1. 使用C++17中的std::filesystem库。
代码语言:cpp
复制
#include<iostream>
#include<filesystem>

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

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

这两种方法都可以从C++字符串中获取文件扩展名。第一种方法使用了C++标准库中的stringalgorithm库,而第二种方法使用了C++17中的std::filesystem库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C++中对字符串的分割

由于C++中没有split函数,因此,为了能够对获取的字符串进行按一定符号进行分割,在此学习了通过字符串的find()方法和substr()方法来实现split();具体描述如下:  //涉及到string类的两个函数find和substr:  //  //1、find函数  //原型: size_t find(const string& str, size_t pos = 0) const;  //功能: 查找子字符串第一次出现的位置。  //参数说明:str为子字符串,pos为初始查找位置。  //返回值: 找到的话返回第一次出现的位置,否则返回string::npos  //2、substr函数  //原型: string substr(size_t pos = 0, size_t n = npos) const;  //功能: 获得子字符串。  //参数说明:pos为起始位置(默认为0),n为结束位置(默认为npos)  //返回值: 子字符串

00
领券