zoukankan      html  css  js  c++  java
  • 【转】C语言中access函数

    头文件:unistd.h

    功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
    用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );
    参数说明:
    filenpath
    文件或文件夹的路径,当前目录直接使用文件或文件夹名
    备注:当该参数为文件的时候,access函数能使用mode参数所有的值,当该参数为文件夹的时候,access函数值能判断文件夹是否存在。在WIN NT 中,所有的文件夹都有读和写权限
    mode
    要判断的模式
    在头文件unistd.h中的预定义如下:
    #define R_OK 4 /* Test for read permission. */
    #define W_OK 2 /* Test for write permission. */
    #define X_OK 1 /* Test for execute permission. */
    #define F_OK 0 /* Test for existence. */
    具体含义如下:
    R_OK 只判断是否有读权限
    W_OK 只判断是否有写权限
    X_OK 判断是否有执行权限
    F_OK 只判断是否存在
    access函数程序范例(C语言中)
    /*int access(const char *pathname, int mode);
    此函数用于检测某个指定路径的文件(第一个参数 pathname),是否符合第二个参数选项(F_OK(是否是存在的文件),R_OK(是否可读),W_OK(是否可以写入),X_OK(是否可以运行);当参数1满足参数2条件时候返回0,不满足返回-1;(此处刚刚好和字符串比对返回值类似)*/
    //参考代码如下:
    #include<stdio.h>
    #include<unistd.h>
    #include<stdlib.h>
    char * myboolean(int p);
    int main(int argc,char **argv)
    {
    int a,b,c,d;
    a=access(argv[1],F_OK);
    b=access(argv[1],R_OK);
    c=access(argv[1],W_OK);
    d=access(argv[1],X_OK);
    printf("存在?%s,可读?%s,可写?%s,可运行?%s
    ",myboolean(a),myboolean(b),myboolean(c),myboolean(d));
    exit(0);
    }
    char * myboolean(int p)/*此函数为了方便结果而定义的布尔运算*/
    {
    char *f =NULL;
    if(p<0)
    return f="";
    if(p==0)
    return f="";
    }
    /***********************************************************************************************/
  • 相关阅读:
    http://ftp.netfilter.org/pub/iptables/
    安装iptables layer 7 模块
    在Debian etch上 为内核添加netfilterlayer7v2 ,ipp2p0.8.2模块
    解决虚拟机安装 Linux 移植到别处网卡起不来的问题
    在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]
    Debian 4
    實作 Layer 7 封包過濾
    DevExpress cxSpreadSheet 自动换行时中文乱码问题的解决【转】
    ABC控件在Delphi7中的安装方法【转】
    取出SQL SERVER字段中的数字
  • 原文地址:https://www.cnblogs.com/yeanz/p/9600389.html
Copyright © 2011-2022 走看看