我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux c access函数如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux c access函数如何使用

今天小编给大家分享一下linux c access函数如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

linux c access函数的作用是确定文件的访问权限,该函数的使用语法是“int access(const char * pathname,  int mode);”,其中参数“pathname”表示需要检测的文件路径名。

linux C access

【1】作用

确定文件的访问权限

【2】头文件

#include <unistd.h>

【3】函数定义

int access(const char * pathname,  int mode);

【4】参数说明

  pathname: 需要检测的文件路径名

  mode: 参数为0时,表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 这个函数还可以检查其它文件属性:

  06 检查读写权限

  04 检查读权限

  02 检查写权限

  01 检查执行权限

  00 检查文件的存在性

【5】返回值

  若所有欲查核的权限都通过了检查则返回0值,表示成功;只要有一权限被禁止则返回-1,表示失败。

【6】函数说明

  access()会检查是否可以读/写某一已存在的文件。

  参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK。

  R_OK,W_OK与X_OK分别用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。

  由于access()只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理。

  例如,你会发现DOS的文件都具有“可执行”权限,但用execve()执行时则会失败。

【7】错误代码

  EACCESS  参数pathname 所指定的文件不符合所要求测试的权限。

  EROFS   欲测试写入权限的文件存在于只读文件系统内。

  EFAULT  参数pathname指针超出可存取内存空间。

  EINVAL  参数mode 不正确。

  ENAMETOOLONG  参数pathname太长。

  ENOTDIR  参数pathname为一目录。

  ENOMEM  核心内存不足    

  ELOOP   参数pathname有过多符号连接问题。

  EIO I/O  存取错误。

【8】附加说明

   使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。

【9】范例

// 范例1#include <unistd.h>int main(){    if (access("/etc/passwd", R_OK) == 0)        printf("/etc/passwd can be read\n");    return 0;}// 范例2#include <stdio.h>#include <unistd.h>int file_exists(char *filename);int main(void){    printf("Does NOTEXIST.FIL exist: %s\n",    file_exists("NOTEXISTS.FIL") ? "YES" : "NO");    return 0;}int file_exists(char *filename){    return (access(filename, 0) == 0);}

【10】相关函数

stat,open,chmod,chown,setuid,setgid

以上就是“linux c access函数如何使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux c access函数如何使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux c access函数如何使用

今天小编给大家分享一下linux c access函数如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。linux c
2023-07-05

C++如何使用仿函数

这篇文章将为大家详细讲解有关C++如何使用仿函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。所谓仿函数就是和函数调用非常类似的一种调用方式,实际上仿函数只是重载了()运算符,这种方式在STL容器函数中使
2023-06-04

C++ setw()函数如何使用

这篇“C++ setw()函数如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++ setw()函数如何使用”文章吧
2023-07-05

C++ 中如何使用函数?

c++++ 中的使用函数函数是一种可重用的代码块,用于提高代码的可重用性和模块化。函数声明指定函数名称、参数类型和返回类型。函数定义提供函数体的实现。函数通过使用其名称并传递适当参数来调用。C++ 中的使用函数函数是一种代码块,可以在程序
C++ 中如何使用函数?
2024-04-12

linux unlink函数如何使用

在Linux中,`unlink()`函数用于删除指定的文件。其语法如下:```c#include int unlink(const char *pathname);````pathname`参数是要删除的文件的路径名。`unlink()`函
2023-09-26

C语言函数如何使用

今天小编给大家分享一下C语言函数如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、函数的分类1.库函数库函数是C语言
2023-06-30

c++的freopen函数如何使用

freopen函数可以用于重定向标准输入输出流。其原型为:```cppFILE *freopen(const char *filename, const char *mode, FILE *stream);```filename参数是要被打
2023-09-29

C++ 中eof()函数如何使用

C++ 中eof()函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在使用C/C++读文件的时候,一定都使用过C++ eof()函数来判断文件是否为空
2023-06-17

C++ 中如何使用inline函数

今天就跟大家聊聊有关C++ 中如何使用inline函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。(一)C++ inline函数在函数声明或定义中函数返回类型前加上关键字inlin
2023-06-17

C# 中CreateEmployee()函数如何使用

今天就跟大家聊聊有关C# 中CreateEmployee()函数如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。修改C# CreateEmployee()函数以重用 1)让我们
2023-06-17

C++函数模板如何使用

本篇内容介绍了“C++函数模板如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C++函数模板templatev
2023-07-05

C++ 中assert()函数如何使用

这期内容当中小编将会给大家带来有关C++ 中assert()函数如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。assert宏的原型定义在< assert.h>中,其作用是如果它的条件返回错误,则终
2023-06-17

如何使用C++中atof函数

这篇文章主要介绍“如何使用C++中atof函数”,在日常操作中,相信很多人在如何使用C++中atof函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用C++中atof函数”的疑惑有所帮助!接下来,请跟
2023-06-21

C++中delete函数如何使用

本篇内容主要讲解“C++中delete函数如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++中delete函数如何使用”吧!在C++中delete函数用于回收new分配的内存空间。C+
2023-07-05

c++中setprecision函数如何使用

C++中的setprecision函数用于设置浮点数的精度。其函数原型如下:std::setprecision(int n)其中,n表示要设置的精度位数。要使用setprecision函数,需要包含头文件。下面是一个
c++中setprecision函数如何使用
2024-02-29

c#中gets函数如何使用

在C#中,没有直接的`gets()`函数。但可以使用`Console.ReadLine()`函数来获取用户的输入。以下是一个示例:string input = Console.ReadLine();Console.WriteLine("
c#中gets函数如何使用
2023-10-28

C++中如何使用虚函数

C++中如何使用虚函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。何为虚函数?C++虚函数就是被关键字virtaul说明的函数。举个例子:这个例子中WindowB和Win
2023-06-17

C++中main()函数如何使用

本篇文章给大家分享的是有关C++中main()函数如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++ main()函数和其它函数一样是函数,有相同的构成部分。在32位
2023-06-17

C++宏函数和内联函数如何使用

今天小编给大家分享一下C++宏函数和内联函数如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 宏常量&宏函数1.1
2023-07-02

编程热搜

目录