Linux(程序设计):12---选项查询(sysconfpathconffpathconf)

【Linux(程序设计):12---选项查询(sysconfpathconffpathconf)】五陵年少金市东,银鞍白马渡春风。这篇文章主要讲述Linux(程序设计):12---选项查询(sysconfpathconffpathconf)相关的知识,希望能为你提供帮助。

#include < unistd.h> long sysconf(int name); long fpathconf(int fd, int name); long pathconf(char *path, int name);

  • 与文件或目录无关的运行时选项,一般使用sysconf
  • 与文件或目录有关的运行时选项,一般使用fpathconf、pathconf
一、返回值
  • 如果选项可用,返回正值
  • 否则返回-1
二、注意事项
  • 如果选项没有定义或者被定义为-1,那么平台在编辑时并不支持相应选项
  • 如果选项定义为0,必须调用sysconf、pathconf、fpathconf来判断选项是否被支持
  • 如果选项定义值大于0,那么该平台支持该选项
三、选项如下
  • fpathconf、pathconf的选项及name参数
Linux(程序设计):12---选项查询(sysconfpathconffpathconf)

文章图片

  • sysconf的选项及name参数
Linux(程序设计):12---选项查询(sysconfpathconffpathconf)

文章图片

使用的限制如下
Linux(程序设计):12---选项查询(sysconfpathconffpathconf)

文章图片

四、各系统测试如下
Linux(程序设计):12---选项查询(sysconfpathconffpathconf)

文章图片

五、演示案例
#include< stdio.h> #include< unistd.h> #include< stdlib.h> #include< sys/types.h> #include< sys/stat.h> #include< fcntl.h> int main() { int fd=open("demo",O_RDONLY); //打开一个目录printf("demo dir _POSIX_CHOWN_RESTRICTED:%ld\\n",fpathconf(fd,_PC_CHOWN_RESTRICTED)); printf("demo dir _POSIX_VDISABLE:%ld\\n",pathconf("demo",_PC_VDISABLE)); printf("_POSIX_JOB_CONTROL:%ld\\n",sysconf(_SC_JOB_CONTROL)); close(fd); exit(0); }

Linux(程序设计):12---选项查询(sysconfpathconffpathconf)

文章图片


    推荐阅读