如何判断一个文件夹存在,还有如何判断一个文件存在。

cvip11 2003-08-30 10:51:53
方法 越多越好。
...全文
545 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghxmagic 2003-10-22
  • 打赏
  • 举报
回复
FindFirstFile
MSDN中说得很清楚,一看就明白.只需把
//-------------------------------
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR [ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATA, *PWIN32_FIND_DATA;
//---------------------------
中cFileName和你的比较即可.
注意是否是全路径的问题
xhwu3721 2003-10-22
  • 打赏
  • 举报
回复
ok,gz
cuterain 2003-10-22
  • 打赏
  • 举报
回复

BOOL IsExistDirectory(char* pDirectory)
{
char szOldDirectory[MAX_PATH]={'\0'};

if (pDirectory == NULL)
return FALSE;

if (GetCurrentDirectory(MAX_PATH, szOldDirectory) == 0)
return FALSE;

if (FALSE == SetCurrentDirectory(pDirectory))
return FALSE;

if (FALSE == SetCurrentDirectory(szOldDirectory))
return FALSE;

return TRUE;
}
vcforever 2003-08-31
  • 打赏
  • 举报
回复
FindFirstFile
baobeixiong 2003-08-31
  • 打赏
  • 举报
回复
很好
dawndu 2003-08-30
  • 打赏
  • 举报
回复
BOOL PathFileExists(LPCTSTR lpszPath);
Path一组函数都很好用的
cvip11 2003-08-30
  • 打赏
  • 举报
回复
都很好,继续
akiko 2003-08-30
  • 打赏
  • 举报
回复
BOOL PathFileExists(LPCTSTR lpszPath);
  • 打赏
  • 举报
回复
#include <direct.h>
void DeleteDirFile(CString sPath)
{
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile(sPath + "*.*",&fd);

if (hFind != INVALID_HANDLE_VALUE)
{
while (::FindNextFile(hFind,&fd))
{
//判断是否为目录
if (fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
CString name;
name = fd.cFileName;
//判断是否为.和..
if ((name != ".") && (name != ".."))
{
//如果是真正的目录,进行递归
DeleteDirFile(sPath + fd.cFileName + "\\");
}
}
else
DeleteFile(sPath + fd.cFileName);
}
::FindClose(hFind);
}
RemoveDirectory(sPath);
}
删除文件夹及文件
请参考一下
zPerry 2003-08-30
  • 打赏
  • 举报
回复
CreateFile(),对目录及文件都适用
其中dwCreationDisposition参数用OPEN_EXISTING
OPEN_EXISTING :Opens the file. The function fails if the file does not exist.
For a discussion of why you should use the OPEN_EXISTING flag if you are using the CreateFile function for devices, see Remarks.
zhang_zhibin 2003-08-30
  • 打赏
  • 举报
回复
GetFileAttributes( filename ) != 0xffffffff
lzwcom 2003-08-30
  • 打赏
  • 举报
回复
HANDLE hFile;
WIN32_FIND_DATA fData;
hFile = FindFirstFile(path,&fData);
if(hFile == INVALID_HANDLE_VALUE)
{
//文件或文件夹不存在
}
else
{
//文件或文件夹存在
FindClose(hFile);
}
Forgis 2003-08-30
  • 打赏
  • 举报
回复
CFileFind
紫郢剑侠 2003-08-30
  • 打赏
  • 举报
回复
GetFileAttributes( filename ) != 0xffffffff
gufengduyu 2003-08-30
  • 打赏
  • 举报
回复
if(!CreateDirectory(szPath, NULL))
{
//目录已存在
if(GetLastError() != ERROR_ALREADY_EXISTS)
{

}
}
寻开心 2003-08-30
  • 打赏
  • 举报
回复
GetFileAttributes()可以判断文件或者文件夹是否存在,以及是文件还是文件夹。
借这个位置,补充问一个问题,当同名的文件和文件夹都存在的时候怎么办。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧