[译]_tsplitpath_s(分解路径)
函数原型:
errno_t _splitpath_s(
const char * path,
char * drive,
size_t driveNumberOfElements,
char * dir,
size_t dirNumberOfElements,
char * fname,
size_t nameNumberOfElements,
char * ext,
size_t extNumberOfElements
);
errno_t _wsplitpath_s(
const wchar_t * path,
wchar_t * drive,
size_t driveNumberOfElements,
wchar_t *dir,
size_t dirNumberOfElements,
wchar_t * fname,
size_t nameNumberOfElements,
wchar_t * ext,
size_t extNumberOfElements
);
参数:
[in] path
全路径
[out] drive
驱动器号,后跟一个冒号(:),如果你不需要驱动器号,可以传递NULL
[in] driveNumberOfElements
Drive的缓冲区大小(单字节或款字节),如果drive为NULL,该参数必须为0
[out] dir
目录路径,包括尾部的斜杠,可以使用“\”,“/”或者都使用,如果不需要目录路径,可以传递NULL
[in] dirNumberOfElements
Dir的缓冲区大小(单字节或者款字节),如果dir为NULL,该参数必须为0
[out] fname
不带扩展名的文件名,如果不需要文件名,可以传递NULL
[in] nameNumberOfElements
Fname的缓冲区大小(单字节或者宽字节),如果fname为NULL,该参数必须为0
[out] ext
文件的扩展名,包括“.”,如果不需要扩展名,可以传递NULL
[in] extNumberOfElements
Ext的缓冲区大小(单字节或者宽字节),如果ext为NULL,该参数必须为0
返回值:
成功返回0,失败返回错误代码 EINVAL
错误的情况有:
函数原型:
errno_t _splitpath_s(
const char * path,
char * drive,
size_t driveNumberOfElements,
char * dir,
size_t dirNumberOfElements,
char * fname,
size_t nameNumberOfElements,
char * ext,
size_t extNumberOfElements
);
errno_t _wsplitpath_s(
const wchar_t * path,
wchar_t * drive,
size_t driveNumberOfElements,
wchar_t *dir,
size_t dirNumberOfElements,
wchar_t * fname,
size_t nameNumberOfElements,
wchar_t * ext,
size_t extNumberOfElements
);
参数:
[in] path
全路径
[out] drive
驱动器号,后跟一个冒号(:),如果你不需要驱动器号,可以传递NULL
[in] driveNumberOfElements
Drive的缓冲区大小(单字节或款字节),如果drive为NULL,该参数必须为0
[out] dir
目录路径,包括尾部的斜杠,可以使用“\”,“/”或者都使用,如果不需要目录路径,可以传递NULL
[in] dirNumberOfElements
Dir的缓冲区大小(单字节或者款字节),如果dir为NULL,该参数必须为0
[out] fname
不带扩展名的文件名,如果不需要文件名,可以传递NULL
[in] nameNumberOfElements
Fname的缓冲区大小(单字节或者宽字节),如果fname为NULL,该参数必须为0
[out] ext
文件的扩展名,包括“.”,如果不需要扩展名,可以传递NULL
[in] extNumberOfElements
Ext的缓冲区大小(单字节或者宽字节),如果ext为NULL,该参数必须为0
返回值:
成功返回0,失败返回错误代码 EINVAL
错误的情况有: