C中的access函数

非原创:转自http://blog.chinaunix.net/uid-22785134-id-360282.html

int   access(const   char   *filename,   int   amode); 
amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 
这个函数还可以检查其它文件属性: 
06     检查读写权限 
04     检查读权限 
02     检查写权限 
01     检查执行权限 
00     检查文件的存在性
而这个就算这个文件没有读权限,也可以判断这个文件存在于否
存在返回0,不存在返回-1

C函数
  函数名: access 
  功 能: 确定文件的访问权限 
  用 法: int access(const char *filename, int amode);
[编辑本段]access
  Synopsis
  #include <io.h>
  int _access(const char *path,int mode) ;
  Description
  The access function, when used with files, determines whether the specified file exists and can be accessed as specified by the value of mode. When used with directories, _access determines only whether the specified directory exists; since under Windows all directories have read and write access.
  The mode argument can be one of :
  00 Existence only
  02 Write permission
  04 Read permission
  06 Read and write permission 
  Returns
  Zero if the file has the given mode, -1 if an error occurs.
  Portability :
  Windows. Under Unix a similar function exists too.
  Note that lcc-win32 accepts both _access (Microsoft convention) and access.

程序例: 
  

  1. #include <stdio.h>
  2.   #include <io.h>
  3.   int file_exists(char *filename);
  4.   int main(void)
  5.   {
  6.   printf("Does NOTEXIST.FIL exist: %s\n",
  7.   file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
  8.   return 0;
  9.   }
  10.   int file_exists(char *filename)
  11.   {
  12.   return (access(filename, 0) == 0);
  13.   }
发布了35 篇原创文章 · 获赞 7 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章