您的位置:首页 > 其它

VC检测文件存在的几种方法

2010-12-13 11:52 288 查看

方法一:FindFirstFile

viewsource

print?

1
WIN32_FIND_DATAm_data;
2
HANDLE
hFile;
3
hFile=FindFirstFile(filename,&m_data)
4
if
(hFile==INVALID_HANDLE_VALUE)
//filenotfound
5
//Makesureyouclosethehandleifthefileisfound.
6
FindClose(hFile);

方法二:SHGetFileInfo

函数原型如下:

viewsource

print?

1
DWORD_PTR
SHGetFileInfo(
2
LPCTSTR
pszPath,
3
DWORD
dwFileAttributes,
4
SHFILEINFO*psfi,
5
UINT
cbFileInfo,
6
UINT
uFlags
7
);


方法三:PathFileExists

//请注意:为了使用API函数PathFileExists(),需要加入shlqapi头文件和lib

viewsource

print?

1
#include"Shlwapi.h"
2
#pragmacomment(lib,"shlwapi.lib")
3
if
(PathFileExists(str))
4
{
5
CStringstrTemp;
6
strTemp.Format(
"%s已存在!"
,str);
7
AfxMessageBox(strTemp);
8
return
;
9
}

[b]方法四:标准c库函数_access

FromMSDN

viewsource

print?

01
/*ACCESS.C:Thisexampleuses_accesstocheckthe
02
*filenamed"ACCESS.C"toseeifitexistsandif
03
*writingisallowed.
04
*/
05
06
#include<io.h>
07
#include<stdio.h>
08
#include<stdlib.h>
09
10
void
main(
void
)
11
{
12
/*Checkforexistence*/
13
if
((_access(
"ACCESS.C"
,0))!=-1)
14
{
15
printf
(
"FileACCESS.Cexists/n"
);
16
/*Checkforwritepermission*/
17
if
((_access(
"ACCESS.C"
,2))!=-1)
18
printf
(
"FileACCESS.Chaswritepermission/n"
);
19
}
20
}
[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: