永发信息网

VC判断文件是否存在

答案:2  悬赏:50  手机版
解决时间 2021-01-30 16:44
VC判断文件是否存在
最佳答案
推荐实例例:
if(::GetFileAttributes(m_filename)==-1){//文件不存在}else{//文件存在}
1. 使用_access函数,函数原型为 int _access( const char *path, int mode );
2. 使用CreateFile函数,函数原型为: HANDLE CreateFile( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode DWORD dwShareMode, // share mode LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security attributes DWORD dwCreationDisposition, // how to create DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // handle to file with attributes to // copy );
3. 使用FindFirstFile函数,函数原型为: HANDLE FindFirstFile( LPCTSTR lpFileName, // pointer to name of file to search for LPWIN32_FIND_DATA lpFindFileData // pointer to returned information );
4. 使用GetFileAttributes函数,函数原型如下: DWORD GetFileAttributes( LPCTSTR lpFileName // pointer to the name of a file or directory );
5. 使用Shell Lightweight Utility APIs函数 PathFileExists()专门判断文件和目录时否存在的函数文件名可读性比较强还可以判断目录是否存在 Header: Declared in Shlwapi.h Import Library: Shlwapi.lib 以上的各种方法供参考,函数具体用法需参见MSDN
全部回答

用mfc类cfilefind之成员函数:

virtual

bool findfile(lpctstr pstrname = null,dword dwunused = 0);

该函数若返回非0

则表明执行成功,改文件存在。0 则表明执行不成功。

pstrname:需要查找的文件名,例:“e://编程工具//vc++//mfc例子.rar”,“e://编程工具//vc++//mfc*.rar”,“e://编程工具//vc++//*.*”,也可以是null表示“*.*”。

dwunused:必须为0

virtual

bool findnextfile();

该函数返回值非0

还有符合条件的文件, 0表示是最后一个文件。

=======================我自己写了个测试,查找d盘根目录下api.chm是否存在成功,完整代码如下:

void cfindfiletest1dlg::onbnclickedbutton1() { // todo: 在此添加控件通知处理程序代码 cfilefind ff; bool isfile=ff.findfile(_t("d:\\*.*")); while (isfile) { isfile=ff.findnextfilew(); if (ff.getfilename().compare(l"api32.chm")==0) { getdlgitem(idc_static)->setwindowtext(ff.getfilename()); break; } sleep(20); } }

若对你有用请采纳,我做团长任务,谢谢!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
新蒙迪欧召回怎么办
意故的意思是什么啊?知道的请说下!
底座是E ZIPPO 10 BRADFORD.PA MADE IN USA
五粮液玻璃马装的,值多少钱?
岳父岳母说我不成熟女友要跟我分手,好伤心谁
美啦·美妆地址在哪,我要去那里办事
【发呆英文】我现在在发呆这句话英语怎么写呢
怀孕后变得懒是怎么回事 宝宝知道
东溜的意思是什么啊?知道的请说下!
读图,回答下题下列说法正确的是A. M、S、Y三
写我家最美故事作文。
动不动就生气情绪低落懒散脾气大怎么回事
word中次下标怎样输入
美妆小屋地址在哪,我要去那里办事
有没有像我的世界这类能联机的游戏
推荐资讯
通幰车的意思是什么啊?知道的请说下!
列竖试计算21x44
什么是富媒体网络推送广告?
物理天平仪器误差为什么是0.05,而不是0.025
MP3随身听买多少钱的比较合适?
笔畅作文阅读地址在什么地方,想过去办事
中达绿城江南里交通方便吗?应该怎么过去?
DNF3期勇者全套要刷多长时间,另外我是阿修罗
环保局生态处是什么单位
我今天给我喜欢人送一袋红枣去,她如果接受了
缨络的意思是什么啊?知道的请说下!
显示器变绿色怎么回事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?