一个简单的判断文件是否存在的WIN API函数
int _access( const char *path, int mode );
int _waccess( const wchar_t *path, int mode );
可以判断文件是否path存在。
mode Checks file for
00 Existence only
02 Write-only
04 Read-only
06 Read and write
功能 : 判断是否允许访问。
返回值:
返回0,则文件为指定的模式。返回-1,则文件不存在或者不能用指定的模式访问。如果在指定的是目录,则仅仅是目录不存在。
Requirements
Routine
Required header
Optional headers
Compatibility
_access
<io.h>
<errno.h>
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003
_waccess
<wchar.h> or <io.h>
<errno.h>
Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003
sample code:
// crt_access.c // compile with: /W1 // This example uses _access to check the file named // crt_ACCESS.C to see if it exists and if writing is allowed. #include <io.h> #include <stdio.h> #include <stdlib.h> int main( void ) { // Check for existence. if( (_access( "crt_ACCESS.C", 0 )) != -1 ) { printf_s( "File crt_ACCESS.C exists.\n" ); // Check for write permission. // Assume file is read-only. if( (_access( "crt_ACCESS.C", 2 )) == -1 ) printf_s( "File crt_ACCESS.C does not have write permission.\n" ); } }
参考: Msdn