方法一:FindFirstFile
1 | WIN32_FIND_DATA m_data; |
2 | HANDLE hFile; |
3 | hFile=FindFirstFile(filename,&m_data) |
4 | if (hFile==INVALID_HANDLE_VALUE) //file not found |
5 | //Make sure you close the handle if the file is found. |
6 | FindClose(hFile); |
方法二:SHGetFileInfo
函数原型如下:
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
1 | #include "Shlwapi.h" |
2 | #pragma comment(lib,"shlwapi.lib") |
3 | if (PathFileExists(str)) |
4 | { |
5 | CString strTemp; |
6 | strTemp.Format( "%s已存在!" ,str); |
7 | AfxMessageBox(strTemp); |
8 | return ; |
9 | } |
方法四:标准c库函数_access
From MSDN
01 | /* ACCESS.C: This example uses _access to check the |
02 | * file named "ACCESS.C" to see if it exists and if |
03 | * writing is allowed. |
04 | */ |
05 | |
06 | #include <io.h> |
07 | #include <stdio.h> |
08 | #include <stdlib.h> |
09 | |
10 | void main( void ) |
11 | { |
12 | /* Check for existence */ |
13 | if ( (_access( "ACCESS.C" , 0 )) != -1 ) |
14 | { |
15 | printf ( "File ACCESS.C exists/n" ); |
16 | /* Check for write permission */ |
17 | if ( (_access( "ACCESS.C" , 2 )) != -1 ) |
18 | printf ( "File ACCESS.C has write permission/n" ); |
19 | } |
20 | } |