一个简单的判断文件是否存在的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
原文地址:https://www.cnblogs.com/mazhenyu/p/1751186.html