找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 22|回复: 0

WINDOW中判断文件是否存在的方法

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-10-3 17:15:49 | 显示全部楼层 |阅读模式
  1. //window操作系统上,判断指定文件是否存在
  2. //参数 strFileName
  3. //方法1
  4. POFSTRUCT lpOpenBuf = new OFSTRUCT;//注意delete
  5. HFILE hFile = OpenFile(strFileName, lpOpenBuf, OF_EXIST);
  6. if (hFile != HFILE_ERROR)
  7. {
  8.     //file exist
  9. }
  10. //方法2
  11. ifstream infile(strFileName);
  12. if (!infile)
  13. {
  14.     //file not exist
  15. }
  16. //方法3
  17. #include <shlwapi.h>
  18. #pragma comment(lib, "Shlwapi.lib")
  19. BOOL ret = PathFileExists(strFileName);
  20. //方法4
  21. FILE* fp = NULL;
  22. fp = fopen(strFileName, "r");
  23. if (fp != NULL)
  24. {
  25.     //file exist
  26. }
  27. //方法5
  28. HANDLE hFind = INVALID_HANDLE_VALUE;
  29. WIN32_FIND_DATA data;
  30. hFind = FindFirstFile(strFileName, &data);
  31. if (hFind)
  32. {
  33.     //file exist
  34. }
  35. FindClose(hFind);
  36. //方法6
  37. HANDLE hFile = CreateFile(strFileName, GENERIC_ALL, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL);
  38. DWROD err = GetLastError();
  39. if (err = ERROR_FILE_NOT_FOUND)
  40. {
  41.     //FILE NOT FOUND
  42. }
  43. if (hFile)
  44. {
  45.     CloseHandle(hFile);
  46. }
  47. //方法7
  48. CFileFind find;
  49. int ret = find.FindFile(strFileName);
  50. if (ret == 0)
  51. {
  52.     //file not found
  53. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-27 06:29 , Processed in 0.124309 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表