- UID
- 1
- 精华
- 244
- 积分
- 75908
- 威望
- 743 点
- 宅币
- 24219 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 最后登录
- 2024-4-17
- 在线时间
- 2296 小时
- QQ
用户组: 管理员
一只技术宅
- UID
- 1
- 精华
- 244
- 威望
- 743 点
- 宅币
- 24219 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 在线时间
- 2296 小时
- 注册时间
- 2014-1-26
|
当你拿到一个文件路径的字符串(比如这种:“C:\Windows\notepad.exe”),然后你应该如何处理才能快速获取到它的盘符、文件夹、文件名和文件扩展名呢?(比如你分别获取到“C:”、“\Windows\”、“notepad”、“exe”四个字符串)
当然是使用_splitpath函数了。
_splitpath函数原型:- void _splitpath(const char*path,char*drive,char*dir,char*fname,char*ext);
复制代码 以及对应的安全版的版本_splitpath_s的原型:- errno_t _splitpath_s(const char*path,char*drive,size_t drivesize,char*dir,size_t dirsize,char*fname,size_t fnamesize,char*ext,size_t extsize);
复制代码 这个函数属于C语言运行库,使用前需要包含stdlib.h。
除了这个函数,还有一个反过来的函数(根据你给定的盘符、文件夹、文件名、文件扩展名制造一个文件路径出来),那就是_makepath。它的原型如下:- void _makepath(char*path,const char*drive,const char*dir,const char*fname,const char*ext);
复制代码 以及对应的安全版的版本_makepath_s的原型:- void _makepath_s(char*path,size_t SizeInWords,const char*drive,const char*dir,const char*fname,const char*ext);
复制代码 |
|