Windows 下处理文件路径相关的 API 介绍

处理文件路径信息是经常要用到的字符串处理的手段,应用场景非常的多,不论是 Linux 还是 Windows,在我没接触这一系列函数之前,都是使用一系列字符串处理函数来自己写。而在 Windows 环境下,系统给我们提供了一系列处理路径相关的 API,我们在需要使用的时候直接调用即可,不但可以避免自己使用字符串处理函数处理时可能造成的各种问题,还可以加快我们编程的速度。当然如果你还没有使用字符串处理函数自己处理过路径等信息,我强烈建议你先自己尝试学习一下。轮子可不重复制造,但你必须要清楚轮子的制作工艺,否则在出现故障时就不知道如何处理了。

示例代码

#include "stdafx.h"  #include <Shlwapi.h>  #include <iostream>    using namespace std;    #ifdef _UNICODE  #define tout wcout  #else  #define tout cout  #endif    #pragma comment(lib, "Shlwapi.lib")    int _tmain(int argc, _TCHAR* argv[])  {      // 获取程序自身的路径      TCHAR szFilePath[MAX_PATH] = {0};      GetModuleFileName(NULL, szFilePath, MAX_PATH);        // 打印完整路径      tout << szFilePath << endl;        // 去掉文件名      PathRemoveFileSpec(szFilePath);      tout << szFilePath << endl;        // 追加一个文件名      PathAppend(szFilePath, _T("test.dll"));      tout << szFilePath << endl;        // 获取文件名      tout << PathFindFileName(szFilePath) << endl;        // 获取文件后缀名      tout << PathFindExtension(szFilePath) << endl;        getchar();      return 0;  }

示例代码中仅仅介绍了一些经常用到的 API,其中还有很多关于路径相关的处理函数。我一时没找到这一系列函数在 MSDN 的页面,大家使用时可以在 VS 中按 F1 跟着找一下其他的函数。