C/C++获取文件名和后缀名方法
作者:小确幸
时间:2025-08-29
浏览:0
在Windows环境下使用C/C++编写一个方法,传入文件的完整路径,并提取文件的基本名称和后缀名。以下是实现这个功能的示例代码:#include<iostream>#include<string>#include<windows.h>//提取文件的基本名称voidget_FileBaseName(conststd::string&path,std::string&baseName){chardrive[_MAX
在Windows环境下使用C/C++编写一个方法,传入文件的完整路径,并提取文件的基本名称和后缀名。以下是实现这个功能的示例代码:
#include#include #include // 提取文件的基本名称 void get_FileBaseName(const std::string& path, std::string& baseName) { char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; _splitpath_s(path.c_str(), drive, dir, fname, ext); baseName = fname; } // 提取文件的后缀名 void get_FileSuffix(const std::string& path, std::string& suffix) { char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; _splitpath_s(path.c_str(), drive, dir, fname, ext); suffix = ext; // 移除前导点的字符 if (!suffix.empty() && suffix[0] == '.') { suffix = suffix.substr(1); } } int main() { std::string path1 = "D:/123/456/1.c"; std::string path2 = "D:\\123\\456\\2.c"; std::string baseName1, suffix1; get_FileBaseName(path1, baseName1); get_FileSuffix(path1, suffix1); std::string baseName2, suffix2; get_FileBaseName(path2, baseName2); get_FileSuffix(path2, suffix2); std::cout << "文件1的基本名称: " << baseName1 << std::endl; std::cout << "文件1的后缀名: " << suffix1 << std::endl; std::cout << "文件2的基本名称: " << baseName2 << std::endl; std::cout << "文件2的后缀名: " << suffix2 << std::endl; return 0; }

这段代码使用了Windows API中的_splitpath_s函数来分解文件路径,从而提取文件的基本名称和后缀名。该方法可以处理不同格式的路径(如使用/或\作为分隔符)。
作者最新文章
Photoshop抠图教程详细步骤图解:新手入门常用方法与技巧
2026-09-22 14:38
Windows 10
2026-09-16 17:44
Python安装后怎么打开:使用IDLE或命令行启动解释器
2026-09-16 13:54
Windows系统Python安装教程:下载、勾选PATH及环境变量配置
2026-09-16 13:53
“等灯不计时”落地解析:算法善意如何转化为技术能力与生态协同
2026-09-08 18:03
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































