请问怎么判断一个文件夹中是否有一个文件

Zealance 2003-09-23 05:06:39
急用,多谢
...全文
37 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanjinke 2003-09-24
  • 打赏
  • 举报
回复
用FindFirstFile函数,然后判断返回值,如果返回值是INVALID_HANDLE_VALUE,说明一个文件也没有。
duyhui 2003-09-24
  • 打赏
  • 举报
回复
CFileFind::FindFile(你的文件名)
fbmsf 2003-09-24
  • 打赏
  • 举报
回复
FindFirstFile("c:\temp\123\35f\1.txt",wfd)
它可以带全路径,包括文件名。
FlyYang 2003-09-23
  • 打赏
  • 举报
回复
BOOL IsDirEmpty(CString sDir)
{
if(sDir.IsEmpty())
return TRUE;

WIN32_FIND_DATA ws_data;
memset(&ws_data, 0, sizeof(WIN32_FIND_DATA));
CString dir = sDir + "\\*";
HANDLE handle = FindFirstFile(dir, &ws_data);
if(handle == INVALID_HANDLE_VALUE)
return TRUE;

while(FindNextFile(handle, &ws_data))
{
//如果不是目录,那么不为空,返回
if(!(ws_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
FindClose(handle);
return FALSE;
}
}
FindClose(handle);
return TRUE;
}

---------
++C++
---------
李马 2003-09-23
  • 打赏
  • 举报
回复
BOOL FileExists(LPCTSTR lpszPath, LPCTSTR lpszFileName)
{
WIN32_FIND_DATA wfd;
TCHAR szFind[MAX_PATH];
HANDLE hFind;
BOOL bRet;
if (lpszPath[lstrlen(lpszPath) - 1] == '\\')
wsprintf(szFind, "%s%s", lpszPath, lpszFileName);
else
wsprintf(szFind, "%s\\%s", lpszPath, lpszFileName);
hFind = FindFirstFile(szFind, &wfd);
bRet = hFind != INVALID_HANDLE_VALUE;
FindClose(hFind);
return bRet;
]
FlyYang 2003-09-23
  • 打赏
  • 举报
回复
1.用LoadLibrary装载ocx文件

2.GetProcAddress得到DllRegisterServer和DllUnregisterServer;注册或卸载

3.FreeLibrary释放库文件

---------
++C++
---------
afantict 2003-09-23
  • 打赏
  • 举报
回复
FindFirstFile,FindNextFile从头到尾找一遍这个文件夹
如果发现文件名相同的
在比较一下WIN32_FIND_DATA 结构里的其他字段
如果都相同,那么就是找到这个文件了
  • 打赏
  • 举报
回复
参考一下
删除文件夹和文件
#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);
}
bluebohe 2003-09-23
  • 打赏
  • 举报
回复
CFileFind::FindFile

16,471

社区成员

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

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

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