_splitpath 或_wsplitpath函数的使用
来源:互联网 发布:android ddms源码 编辑:程序博客网 时间:2024/05/22 06:48
_tsplitpath 函数可以从路径中分解出 盘符、目录、文件名、文件后缀等。是一个非常有用的函数。
_splitpath
<stdlib.h>
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003
_wsplitpath
<stdlib.h> or <wchar.h>
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003
函数原型:errno_t _splitpath_s(
const char * path, //[in]全路径
char * drive,//[out] 驱动器号,后跟一个冒号(:),如果你不需要驱动器号,可以传递NULL
size_t driveNumberOfElements,//[in] Drive的缓冲区大小(单字节或款字节),如果drive为NULL,该参数必须为0
char * dir,//[out] 目录路径,包括尾部的斜杠,可以使用“\”,“/”或者都使用,如果不需要目录路径,可以传递NULL
size_t dirNumberOfElements, //[in] Dir的缓冲区大小(单字节或者款字节),如果dir为NULL,该参数必须为0
char * fname, //[out] 不带扩展名的文件名,如果不需要文件名,可以传递NULL
size_t nameNumberOfElements,//[in] Fname的缓冲区大小(单字节或者宽字节),如果fname为NULL,该参数必须为0
char * ext, //[out] 文件的扩展名,包括“.”,如果不需要扩展名,可以传递NULL
size_t extNumberOfElements //[in] Ext的缓冲区大小(单字节或者宽字节),如果ext为NULL,该参数必须为0
);
char * ext, //[out] 文件的扩展名,包括“.”,如果不需要扩展名,可以传递NULL
size_t extNumberOfElements //[in] Ext的缓冲区大小(单字节或者宽字节),如果ext为NULL,该参数必须为0
);
返回值:成功返回0,失败返回错误代码 EINVAL
_splitpath_s 该函数将全路径分割成四个部分,分别是驱动器,路径名,文件名(不带扩展名),扩展名。_splitpath_s会根据当前正在使用的多字节页码来识别多字节字符来处理宽字节字符串。_wsplitpath_s是_splitpath_s的多字节版本,_wsplitpath_s的参数是宽字符。
全路径被分成四个部分分别存储在不同的缓冲区中,每个部分允许的最大值为_MAX_DRIVE, _MAX_DIR,_MAX_FNAME, and_MAX_EXT,这些宏定义在stdlib.h中,如果这四个部分的缓冲区大小超过了定义的允许的最大值,那么会引起heap corruption.
以下是四个宏的定义的最大值:
Name
Value
_MAX_DRIVE
3
_MAX_DIR
256
_MAX_FNAME
256
_Max_EXT
256
- TCHAR szModuleFileName[MAX_PATH] = {0}; // 全路径名
- TCHAR drive[_MAX_DRIVE] = {0}; // 盘符名称,比如说C盘啊,D盘啊
- TCHAR dir[_MAX_DIR] = {0}; // 目录
- TCHAR fname[_MAX_FNAME] = {0}; // 进程名字
- TCHAR ext[_MAX_EXT] = {0}; //后缀,一般为exe或者是dll
- if (NULL == GetModuleFileName(NULL, szModuleFileName, MAX_PATH)) //获得当前进程的文件路径
- return _T("");
- errno_t err = _tsplitpath_s( szModuleFileName,
- drive,
- dir,
- fname,
- ext); //分割该路径,得到盘符,目录,文件名,后缀名
err = _splitpath_s( path_buffer, drive, _MAX_DRIVE, dir, _MAX_DIR, fname, _MAX_FNAME, ext, _MAX_EXT );
0 0
- _splitpath 或_wsplitpath函数的使用
- _splitpath, _wsplitpath 分割路径
- _splitpath, _wsplitpath 分割路径
- _makepath 和_splitpath函数的使用
- _splitpath函数使用
- 分割文件名 _splitpath() 函数
- 函数_splitpath用法
- 分割文件名 _splitpath() 函数
- _splitpath函数得到文件的目录名和路径
- 路径参数函数:路径的获取(GetModuleFileName)和拆分(_splitpath)
- [转]分割文件名 _splitpath() 函数
- 分析路径参数函数_splitpath
- 分割文件名 _splitpath() 函数讲解
- _splitpath和_mekepath的用法
- 在linux系统下,简单实现类似windows的_splitpath函数的功能
- windows 上的 _splitpath 函数在 linux 平台下的简单实现
- 用_splitpath 函数可以分解出路径,文件名,扩展名,msdn的例子
- _splitpath函数 具体作用看代码
- x265-1.8版本-encoder/weightPrediction.cpp注释
- 使用平台调用(PInvoke)实现C#调用非托管C++代码
- Android中拍照和选择图片的处理
- acm及蓝桥杯中的【暴力求解法】(2)(2.16)
- TI CC254X函数库说明续(BLE L2CAP.h)
- _splitpath 或_wsplitpath函数的使用
- LAN 局域网通讯软件 中期报告
- NeHe02课 多边形
- 如何创建一个web项目
- u-boot-1.1.6在FS2410开发板上的移植
- iOS的三种多线程技术
- 线程基础:JDK1.5+(10)——线程新特性(下)
- Web动画性能指南
- java学习日记——基本操作02