sysconf()、pathconf()和fpathconf()函数
来源:互联网 发布:linux 倒序查看文件 编辑:程序博客网 时间:2024/05/21 02:21
对于运行时的限制值和选项,我们已经知道可以用sysconf()、pathconf()和fpathconf()三个函数之一来确定它们的值。具体地,sysconf()用于获得与文件或目录无关的限制值,以及系统特征选项;pathconf()和fpathconf()用于获得与文件或目录有关的限制值。这三个函数的原型为:
#include <unistd.h>
long int sysconf(int parameter);
long int pathconf(const char *pathname,int parameter);
long int fpathconf(int filedes,int parameter);
sysconf()用于确定当前的系统变量之值(即限制值和特征选项),其中参数parameter指出要询问的是哪个系统变量,它应当是头文件<unistd.h>中定义的以'_SC_'开头的符号常数之一。表2-10中列出了sysconf函数所使用的name参数,用于标识系统限制。以_SC_开始的长廊用作标示运行时限制的sysconf参数。函数pathconf()和fpathconf()作用相同,它们都用于查询与文件系统限制和选项有关的值,不同的只是pathconf()作用于文件名pathname,而fpathconf()作用于已打开的文件描述字 filedes。参数parameter必须是定义在头文件<unistd.h>中以'_PC_'开头的符号常数之一
三个函数的返回值说明如下:
1,如果name不是表2-10和2-11的第三列中的一个合适的常量,则所有这三个函数都会返回-1,并将errno设置为EINVAL;
2,有些name可以返回变量的值(返回值大于等于0),或者返回-1,这表示该值是不确定的,此时并不改变errno的值;
3,_SC_CLK_TCK的返回值是每秒钟的时钟滴答数,以用于times函数的返回值。
对于pathconf的参数pathname以及fpathconf的参数filedes有一些限制。如果不满足其中任何一个限制,则结果是未定义的。
1,_PC_MAX_CANON和_PC_MAX_INPUT所音乐呢的文件必须是终端文件;
2,_PC_LINK_MAX所引用的文件可以使文件或目录。如果是目录,则返回值用于目录本身(而不是用于目录内的文件名项);
3,_PC_FILESIZEBITS和_PC_NAME_MAX所引用的文件必须是目录,返回值用于该目录中的文件名;
4,_PC_PATH_MAX引用的文件必须是目录。当所指定的目录是工作目录时,返回值是相对路径名的最大长度;
5,_PC_PIPE_BUF所引用的文件必须是管道、FIFO或目录。在管道或者FIFO情况下,返回值是对所引用的管道或FIFO的限制值。对于目录,返回值是对在该目录中创建的任一FIFO的限制值;
6,_PC_SYMLINK_MAX所引用的文件必须是目录。返回值是该目录中符号链接可能包含的字符串的最大长度。
- sysconf、pathconf和fpathconf函数
- sysconf、pathconf和fpathconf函数
- sysconf、pathconf和fpathconf函数
- sysconf()、pathconf()和fpathconf()函数
- sysconf()、pathconf()和fpathconf()函数
- sysconf、pathconf和fpathconf函数
- sysconf、pathconf和fpathconf函数
- sysconf()、pathconf()和fpathconf()函数
- sysconf、pathconf和fpathconf
- sysconf,pathconf和fpathconf
- [unix]sysconf、pathconf和fpathconf
- UNIX环境高级编程笔记1-sysconf、pathconf和fpathconf函数
- [UNIX编程笔记] 【APUE-4】 UNIX标准化及实现与sysconf、fpathconf、pathconf函数
- Linux系统调用--getrlimit()与setrlimit()函数详解-sysconf/getconf/fpathconf/pathconf
- Linux pathconf sysconf函数
- APUE 2-14 打印所有可能的sysconf和pathconf
- fpathconf函数
- pathconf函数
- Spring整合JDBC实现简单的增删改续-实现基于RowMaper的查询
- 编码规范集锦
- 23种设计模式汇总
- css常见标签
- php ci框架之创建mobel
- sysconf()、pathconf()和fpathconf()函数
- 苹果进入健康领域,将如何面对隐私问题?
- 读取数据库并生成excel文件--PHPExcel
- 几个不错的深度学习教程
- JLINK、ULINK及ST-LINK
- iOS开发笔记之十四——Xcode 6.0.1下出现Thread 1: signal SIGPIPE问题的参考解决方案
- 数据挖掘10大算法的思维导图
- CXF学习-形参、返回值为javaBean,list或数组
- 解决Bootstrap.用户界面架构视频中的popover鼠标滑过无法弹出提示框