【发布时间】:2011-05-16 00:27:43
【问题描述】:
如何检查目录是否已经存在于 MFC(VC++) 中? 我正在使用下面的代码来获取当前的应用程序路径,并且我正在创建 NDSLog 文件夹 这样我所有的日志文件都应该放在那里,现在我想检查 NDSLog 文件夹是否已经存在的条件,不要创建它。如何做到这一点?
谢谢。
char strPathName[_MAX_PATH];
::GetModuleFileName(NULL, strPathName, _MAX_PATH);
// The following code will allow you to get the path.
CString newPath(strPathName);
int fpos = newPath.ReverseFind('\\');
if (fpos != -1)
newPath = newPath.Left(fpos+1);
newPath += "NDSLog\\" ;
CreateDirectory(newPath,NULL);
【问题讨论】:
-
我可以插入请求不要将您的日志放在当前目录下吗?在 Vista 和 Windows 7 上,非提升(换句话说,普通)应用程序无法在 Program Files 下的任何位置写入。由于您今天正在编写此代码,并且您正在为 Windows 编写代码,因此请使用 AppData (CSIDL_APPDATA) 作为您的日志。为您的应用创建一个子目录,如果您喜欢另一个用于日志的子目录。
标签: visual-c++ mfc