access函数

功能描述: 
检查调用进程是否可以对指定的文件执行某种操作。 
  
用法:

#include <unistd.h>
#include <fcntl.h> int access(const char *pathname, int mode);

参数: 
pathname: 需要测试的文件路径名。   
mode: 需要测试的操作模式,

可能值是一个或多个R_OK(可读?), W_OK(可写?), X_OK(可执行?) 或 F_OK(文件存在?)组合体。 
  
返回说明: 
成功执行时,返回0。失败返回-1,errno被设为以下的某个值 
EINVAL: 模式值无效   
EACCES: 文件或路径名中包含的目录不可访问 
ELOOP : 解释路径名过程中存在太多的符号连接 
ENAMETOOLONG:路径名太长 
ENOENT:  路径名中的目录不存在或是无效的符号连接 
ENOTDIR: 路径名中当作目录的组件并非目录 
EROFS: 文件系统只读 
EFAULT: 路径名指向可访问的空间外 
EIO:  输入输出错误 
ENOMEM: 不能获取足够的内核内存 
ETXTBSY:对程序写入出错

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h> int main()
{
if((access("test.c",F_OK))!=-)
{
printf("文件 test.c 存在.\n");
}
else
{
printf("test.c 不存在!\n");
} if(access("test.c",R_OK)!=-)
{
printf("test.c 有可读权限\n");
}
else
{
printf("test.c 不可读.\n");
} if(access("test.c",W_OK)!=-)
{
printf("test.c 有可写权限\n");
}
else
{
printf("test.c 不可写.\n");
}
if(access("test.c",X_OK)!=-)
{
printf("test.c 有可执行权限\n");
}
else
{
printf("test.c 不可执行.\n");
} return ;
}

linux C判断文件是否存在的更多相关文章

  1. linux shell判断文件,目录是否存在或者具有权限

    在linux中判断文件,目录是否存在或则具有的权限,根据最近的学习以及网上的资料,进行了以下的总结: #!/bin/sh myPath="/var/log/httpd/" myFi ...

  2. Linux shell判断文件和文件夹是否存在

    shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/acc ...

  3. [转] Linux shell判断文件和文件夹是否存在

    shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/acc ...

  4. linux下判断文件和目录是否存在[总结]

    1.前言 工作中涉及到文件系统,有时候需要判断文件和目录是否存在.我结合APUE第四章文件和目录,总结一下如何正确判断文件和目录是否存在,方便以后查询. 2.stat系列函数 stat函数用来返回与文 ...

  5. linux下判断文件和目录是否存在

    1.前言 工作中涉及到文件系统,有时候需要判断文件和目录是否存在.我结合APUE第四章文件和目录,总结一下如何正确判断文件和目录是否存在,方便以后查询. 2.stat系列函数 stat函数用来返回与文 ...

  6. linux C判断文件是否存在【转】

    转自:http://blog.csdn.net/kingjo002/article/details/8442146 一.access函数 功能描述: 检查调用进程是否可以对指定的文件执行某种操作. 用 ...

  7. linux shell 判断文件是否存在等符号

    -a file exists.  -b file exists and is a block special file.  -c file exists and is a character spec ...

  8. Linux shell判断文件和文件夹是否存在(转发)

    #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数 ...

  9. linux c 判断文件存在,遍历文件,随机修改文件内容

    #include<stdio.h> #include<stdlib.h> #include<time.h> #include<assert.h> #in ...

随机推荐

  1. C# 实现文件(夹)在ftp服务器间的同步【无需将文件(夹)保存到本地】

    C#实现不同ftp服务器间文件(夹)同步 图1 实现不同ftp服务器间文件(夹)同步的实现思路图 /// <summary> /// 将文件夹1从ftp服务器1移到ftp服务器2文件夹2 ...

  2. kaggle Pipelines

    # Most scikit-learn objects are either transformers or models. # Transformers are for pre-processing ...

  3. Linux文件概念

    大多数资源,Linux都是以文件的方式来访问. Linux系统上的文件部分类型说明 –普通文件. •就是储存到磁盘上大家所操作的各种数据文件: –管道文件. •是一个从一端发送数据,从另一端接收数据的 ...

  4. 自动化打包资源混淆集成python实践----打包

    1.自动化打包方案 1)友盟多渠道多渠道打包 2)gradle productFlavors系统的条件编译 3)美团打包 4)APK文件注释写入渠道号 2.各打包方案简介 1)友盟多渠道多渠道打包(w ...

  5. sql 试图索引

    视图是对数据(一种元数据类型)的一种描述.当创建了一个典型视图时,通过封装一个 SELECT 语句(定义一个结果集来表示为虚拟表)来定义元数据.当在另一个查询的 FROM 子句中引用视图时,将从系统目 ...

  6. 在RobotFramework--RIDE中把日期转化为整型进行运算

    在RobotFramework--RIDE中把日期转化为整型进行运算 运行结果: 20180906 16:10:17.919 : INFO : ${time} = 2018-09-06 16:10:1 ...

  7. 温故而知新_C语言_define_宏

                                                                                             define defi ...

  8. 51nod1244 莫比乌斯函数之和(杜教筛)

    题面 传送门 题解 我--我忘记把预处理的块的大小调成\(n^{\frac{2}{3}}\)了--(仰天) 首先\(\mu*1=e\) 然后杜教筛就行了 //minamoto #include< ...

  9. vue_cli安装

    一. 安装 node.js 首先需要安装node环境,可以直接到中文官网http://nodejs.cn/下载安装包. 只是这样安装的 node 是固定版本的,如果需要多版本的 node,可以使用 n ...

  10. phaser小游戏框架学习中的屏幕适配

    这篇博客主要讲一下上一篇博客的右侧和底部出现的问题.就是页面会有偏移量.说一下这个产生的原因吧. 一开始在构建html页面的时候,习惯性的在页面中加了 <meta name="view ...