C/C++获取文件名和后缀名方法
作者:小确幸
时间:2025-08-29
浏览:1
在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函数来分解文件路径,从而提取文件的基本名称和后缀名。该方法可以处理不同格式的路径(如使用/或\作为分隔符)。
作者最新文章
漫蛙漫画下载免费安卓最新版本
2026-10-13 13:18
漫蛙下载最新版安装包
2026-10-13 13:18
漫蛙manwaapp安卓最新版下载
2026-10-13 13:18
漫蛙动漫APP下载安装最新版本
2026-10-13 13:17
漫蛙漫画APP官方下载最新版本
2026-10-13 13:17
下一篇:
Debian spool临时文件清理方法
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































