linux下的access()函数判断文件是否存在

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>

int main()
{
    if((access("test.c",F_OK))!=-1)
    {
        printf("文件 test.c 存在.\n");
    }
    else
    {
        printf("test.c 不存在!\n");
    }

    if(access("test.c",R_OK)!=-1)
    {
        printf("test.c 有可读权限\n");
    }
    else
    {
        printf("test.c 不可读.\n");
    }

    if(access("test.c",W_OK)!=-1)
    {
        printf("test.c 有可写权限\n");
    }
    else
    {
        printf("test.c 不可写.\n");
    }
    if(access("test.c",X_OK)!=-1)
    {
        printf("test.c 有可执行权限\n");
    }
    else
    {
        printf("test.c 不可执行.\n");
    }

    return 0;
}
时间: 2024-10-11 08:41:59

linux下的access()函数判断文件是否存在的相关文章

linux下实现rm()函数删除文件或目录

在linux下有两个函数可以用来删除文件: #include <unistd.h> int unlink(const char *pathname); unlink函数删除文件系统中的一个名字,如果这个名字是该文件的最后一个link并且该文件没有被任何进程打开,那么删除该文件.否则等到文件被关闭或最后一个link被删除后删除该文件并释放空间. #include <unistd.h> int rmdir(const char *pathname); 只有当目录为空的时候,rmdir才

Linux下利用sendfile函数传输文件

#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <

linux C之access函数

linux C之access函数 access():判断是否具有存取文件的权限 相关函数    stat,open,chmod,chown,setuid,setgid表头文件    #include<unistd.h>定义函数    int access(const char * pathname, int mode);函数说明    access()会检查是否可以读/写某一已存在的文件.参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK.R_OK,W_OK与X_OK用来检

linux C之access函数 (20

http://blog.sina.com.cn/s/blog_6a1837e90100uh5d.html linux C之access函数 (20access():判断是否具有存取文件的权限 相关函数    stat,open,chmod,chown,setuid,setgid 表头文件    #include<unistd.h>定义函数     int access(const char * pathname, int mode);函数说明    access()会检查是否可以读/写某一已存

linux 下C语言编程库文件处理与Makefile编写

做开发快3年了,在linux下编译安装软件算是家常便饭了.就拿gcc来说,都有不下10次了,可基本每次都会碰到些奇奇怪怪的问题.看来还是像vs.codeblocks这样的ide把人弄蠢了.便下定决心一定要好好学习下如何在linux下纯手工gcc编译c项目.今天学了2点,一个是库文件处理,另一个是makefile编写. 学习的系统是centos6.6,编译升级的gcc4.8.2,明天写个博客总结下这回gcc安装的过程,每次都能学到些东西. gcc的编译过程 首先需要清楚gcc编译做了些什么 源文件

linux下转格式函数iconv段错误

今天将windows代码移植到Linux下,其中用到了Unicode转char的函数,被坑了一会,相关函数及编码格式,Linux与windows不同,有几点需要注意: 1.wchar_t 在Linux下占用4个字节,在windows下占2个字节: 2.Linux默认的文本编码方式是UTF-8:Linux终端汉字显示的设置方式:vi /etc/sysconfig/i18n: 设置LANG="en_US.UTF-8"或者LANG="zh_CN.UTF-8": 3.ico

Linux下gcc编译生成动态链接库*.so文件并调用它 是转载的

动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助.1.动态库的编译 下面通过一个例子来介绍如何生成一个动态库.这里有一个头文件:so_test.h,三个.c文件:test_a.c.test_b.c.test_c.c,我们将这几个文件编译成一个动态库:libtest.so. //so_test.h:#include "stdio.h"

关于在linux下用gcc编译头文件的问题。

关于在linux下用gcc编译头文件的问题. 2011-01-21 18:5215052135380 | 分类:其他编程语言 | 浏览8139次 有node.h prepare.h list.h file.h 这四个头文件, prepare.h中用到了node.h, list.h中用到了preapre.h , file.h中用到了list.h ,怎么用gcc对这四个头文件进行编译. 分享到: 2011-01-22 02:23 天天爱答题,抽奖送惊喜~ 提问者采纳 我用一个例子来告诉你怎么样在 C

linux下使用math.h头文件-l与-L参数

遇到一个问题就是,c语言用到sqrt时,明明已包含math.h文件,却仍提示未定义,所以上网招答案的: gcc -lm 以下转自http://bbs.csdn.net/topics/330105678 ·-l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供