用那个API判断文件是否存在?

zyq_123 2012-08-22 11:43:42
有很多方法,但一般那个方法最方便?具体代码实现是怎样。
...全文
295 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
e3internet 2012-08-23
  • 打赏
  • 举报
回复
1、函数:PathFileExists
2、函数:FindFirstFile
以上具体用法msdn
Gloveing 2012-08-23
  • 打赏
  • 举报
回复
	char *name = "C:\\Users\\administrator\\Desktop\\temp";
FILE *f = NULL;
try
{
f = fopen(name,"r");
if (f==NULL)
{
cout<<"not file"<<endl;
}
else
{
cout<<"is file"<<endl;
fclose(f);
}
}

catch (CException* e)
{

cout<<"exception"<<endl;
}
majia2011 2012-08-23
  • 打赏
  • 举报
回复
都习惯打开文件,看文件是否存在....................
yisikaipu 2012-08-23
  • 打赏
  • 举报
回复
楼上,faccess,有这个c标准函数?我孤陋寡闻了
wqkjj 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
有很多方法,但一般那个方法最方便?具体代码实现是怎样。
[/Quote]

看你用在什么平台

跨平台考虑的话,最好用c标准函数,比如
faccess(...)
另外fopen(...)==NULL的判断是不严谨的,还要看errno,比如errno == ENOENT,这个错误代码和你的平台相关,需要看平台相关的帮助。如果是大文件,用fopen效率上肯怕不如faccess。
jiuzhoulh 2012-08-23
  • 打赏
  • 举报
回复
GetFileAttributes("绝对路径名");
sjjwind 2012-08-23
  • 打赏
  • 举报
回复
以上几楼的方法都行,像OpenFile这样的API也是可以的
zhanshen2891 2012-08-23
  • 打赏
  • 举报
回复
1. CreateFile
2. 取lasterror,如果是ERROR_FILE_NOT_FOUND或者ERROR_PATH_NOT_FOUND就是文件不存在
翅膀又硬了 2012-08-23
  • 打赏
  • 举报
回复
1楼跟2楼的方法都行
赵4老师 2012-08-23
  • 打赏
  • 举报
回复
_access( const char *path, 0);

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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