如何在C++中从路径中提取文件名和扩展名
从给定的路径中提取文件名和其扩展名是用户的常见需求。这个过程很简单,但在某些情况下会变得困难(不同的操作系统、文件类型等)。本文将教你如何在C++中从路径中提取文件名和扩展名。
从路径中提取文件名和扩展名
首先,在变量 文件路径 中定义文件的路径。这个变量作为参数发送到 filesystem::path 类构造函数。然后,我们使用公共成员函数 filename 从路径中获取文件名和扩展名。然后使用 stem 成员函数获取文件名,最后使用 extension 成员函数获取文件扩展名。
代码:
// C++ Program for Extracting
// file names and extensions from a path
#include <filesystem>
#include <iostream>
using namespace std;
int main()
{
// 文件的路径
char* filepath = "C:\\Users\\Drunk\\Desktop\\l.png";
// 将路径作为参数传递给函数
filesystem::path p(filepath);
// 分别显示文件名和扩展名
// 通过访问各自的构造函数
cout << "filename and extension: " << p.filename()
<< std::endl;
cout << "filename only: " << p.stem() << std::endl;
cout << "Extension: " << p.extension();
return 0;
}
输出:
输出
注意: 上述方法也适用于没有扩展名的文件。它们会包含文件名,但扩展名会是一个空字符串。例如,如果文件的路径改为
C:\Users\Apples\touch
输出:
输出