VC判斷路徑是否存在
方法一:
CFileFind m_FileFind;
CString m_sFilePath = "D:\\Program Files\\Adobe\\Adobe Flash CS3";
if(!m_FileFind.FindFile(m_sFilePath)) //路徑不存在則創(chuàng)建該路徑
{
CreateDirectory(m_sFilePath,NULL);
}
方法二:
CString strFilePath;
strFilePath = "E:\\圖像\\";
strFilePath += m_ID;
if (!SetCurrentDirectory(strFilePath))
{
CreateDirectory(strFilePath, NULL);
}
方法三:
FindFirstFile()/
#define _WIN32_WINNT 0x0400
#include "windows.h"
int
main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
printf ("Target file is %s.\n", argv[1]);
hFind = FindFirstFile(argv[1], &FindFileData);
if (hFind == INVALID_HANDLE_VALUE) {
printf ("Invalid File Handle. Get Last Error reports %d\n", GetLastError ());
} else {
printf ("The first file found is %s\n", FindFileData.cFileName);
FindClose(hFind);
}
return (0);
}
方法四:
FILE *fp = fopen(strPath, "r")
if(fp == NULL)
{
//沒有同名文件
}
方法五:
CString strPath;
strPath = "c:\\abc.dat"
if(GetFileAttributes(strPath) == 0xFFFFFFFF)
{
AfxMessageBox("文件不存在");
return;
}
。。。。。。。。。。
程序如下:
CString filePath = "C:\\abc\\";
DWORD dwAttr = GetFileAttributes(filePath);
if(dwAttr==-1||(dwAttr&FILE_ATTRIBUTE_DIRECTORY)==0)//目錄不存在
{
if ( !CreateDirectory(filePath, NULL) )
{
AfxMessageBox("不能創(chuàng)建目錄");
return;
}
}
方法六:
WIN32_FIND_DATA tFile;
memset(&tFile, 0, sizeof(tFile));
CString str = "d:\eeagadg\...";
if(FindFirstFile(str, &tFile) == INVALID_HANDLE_..)
不存在
方法七:
int _access(
const char *path,
int mode
);
。。。。。。。。
#include <io.h>
.....
char szPathName[MAX_PATH] = "C:\\ABC";
if(_access(szPathName,0) == 0)
MessageBox(NULL,"該文件夾已經(jīng)存在","提示",0)
else
CreateDirectory(szPathName,NULL);
——————————————————————————————————————
——————————————————————————————————————
我在MFC程序中 用的是方法一:
CString file;
CFileFind fileFind;
file=_T("D:\\T1\\T2");
if (!fileFind.FindFile(file))
{
CreateDirectory(file,NULL);
}
因?yàn)橛闷渌椒〞r(shí),可能要加額外的頭文件 所以選擇了這一個(gè)
參考資料: