0xAA55 发表于 2014-8-20 16:47:25

【C】拆开路径得到盘符、文件夹、文件名和扩展名的方法

当你拿到一个文件路径的字符串(比如这种:“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);
页: [1]
查看完整版本: 【C】拆开路径得到盘符、文件夹、文件名和扩展名的方法