VC判断路径是否存在
2010-02-04 12:54:24| 分类: VC | 标签: |字号大中小 订阅
方法一:
CFileFind m_FileFind;
CString m_sFilePath = "D:\\Program Files\\Adobe\\Adobe Flash CS3";
if(!m_FileFind.FindFile(m_sFilePath)) //路径不存在则创建该路径
{
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_DA
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("不能创建目录");
return;
}
}
方法六:
WIN32_FIND_DA
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,"该文件夹已经存在","提示",0)
else
CreateDirectory(szPathName,NULL);
——————————————————————————————————————
——————————————————————————————————————
我在MFC程序中 用的是方法一:
CString file;
CFileFind fileFind;
file=_T("D:\\T1\\T2");
if (!fileFind.FindFile(file))
{
CreateDirectory(file,NULL);
}
因为用其他方法时,可能要加额外的头文件 所以选择了这一个
参考资料:
http://www.cnblogs.com/zhangpengshou/archive/2009/07/19/1526487.html
http://zhidao.baidu.com/question/56430388.html
http://wenda.tianya.cn/wenda/thread?tid=1235e6ad4211d93f
http://topic.okbase.net/200704/2007040617/2954104.html
http://hi.baidu.com/chinapegasus/blog/item/929e68829bd43795f703a601.html
http://topic.csdn.net/t/20040618/13/3103573.html