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函数来分解文件路径,从而提取文件的基本名称和后缀名。该方法可以处理不同格式的路径(如使用/或\作为分隔符)。
作者最新文章
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
英伟达推出NVHBM:定制HBM带宽提升30%并扩展NVLink Fusion生态
2026-09-08 17:31
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















