C++ _access和_waccess的使用方法

时间:2022-05-21 15:34:46

 

C++ _access_waccess的使用方法

概述

头文件:<io.h>

判断文件的访问权限

原型

int _access( const char *path,   int mode);

int _waccess(const wchar_t *path, int mode );

参数

path  文件或目录路径

mode 访问权限设定

返回值

如果文件具有指定的访问权限,则函数返回0;如果文件不存在或者不能访问指定的权限,则返回-1。

备注

当path为文件时,_access函数判断文件是否存在,并判断文件是否可以用mode值指定的模式进行访问。当path为目录时,_access只判断指定的目录是否存在,在Windows NT和Windows 2000中,所有的目录都有读写权限。

mode的值和含义如下表所示:

mode

检查文件

00

只检查文件是否存在

02

写权限

04

读权限

06

读写权限

_waccess是_access的宽字符版本,_waccess的参数path为宽字符的字符串,其他与_access相同。

实例

该实例使用_access判断文件是否存在,并判断文件是否可写。

// crt_access.c

#include  <io.h>

#include  <stdio.h>

#include  <stdlib.h>

int main( void )

{

/* 判断文件是否存在 */

if( (_access( "crt_ACCESS.C", 0 )) != -1 )

{

printf( "File crt_ACCESS.C exists\n" );

/* 判断文件是否可写 */

/* 假设文件时只读的 */

if( (_access( "crt_ACCESS.C", 2 )) == -1 )

printf( "File crt_ACCESS.C does not have write permission\n" );

}

}

输出:

File crt_ACCESS.C exists

File crt_ACCESS.C does not have write permission