_splitpath / _wsplitpath 将绝对路径分割为盘符、路径、文件名、扩展名。

今天分享下一个路径分割的API,可以将一个完整的绝对路径分割为:

  盘符(包括冒号:)

  路径(包含前面&后面的\,不含盘符&文件名)

  文件名(不含扩展名)

  扩展名(包含前面的.)

 

先不说话,直接上代码,代码功能:获取当前exe的完整路径,然后分割。

1     TCHAR szPath[MAX_PATH] = L"";
2     GetModuleFileName(NULL, szPath, MAX_PATH);
3     TCHAR drive[MAX_PATH] = L"";
4     TCHAR dir[MAX_PATH] = L"";
5     TCHAR fileName[MAX_PATH] = L"";
6     TCHAR ext[MAX_PATH] = L"";
7     _wsplitpath(szPath, drive, dir, fileName, ext);

打印结果如下:

 

 

当然Windows也提供了安全版本的API,分别是:_splitpath_s / _wsplitpath,用法类似。

posted @ 2014-07-03 11:14  nchxmoon  阅读(3948)  评论(0编辑  收藏  举报