头文件

#include <boost/filesystem.hpp>


判断文件夹是否存在

if (boost::filesystem::exists(szFolderName))


删除文件夹

boost::filesystem::remove_all(szFolderName);


Windows获取服务程序路径尚未解决

 Boost库获取程序路径的代码:boost::filesystem::initial_path<boost::filesystem::path>().string();

这个代码段只能获取到可执行程序控制台启动的路径,但是如果以服务形式启动,获取到的路径是C:\Windows\System32,目前暂时没有办法获取到可执行程序的绝对路径,目标是跨平台程序的开发

提供获取到当前可执行程序的目录代码:

std::string GetCurDirPath()
{
 char szPath[MAX_PATH];
 GetModuleFileName(NULL, szPath, MAX_PATH);
 char drive[4];
 char subdir[MAX_PATH];
 char fn[MAX_PATH];
 char exten[MAX_PATH];
 _splitpath(szPath, drive, subdir, fn, exten);
 std::string strFilePathName = drive;
 strFilePathName += subdir;
 return strFilePathName;
}