fpathconf函数原型如下:
#include <unistd.h>
long fpathconf(int files, int name);
与pathconf函数功能一样,只是第一个参数不一样,pathconf的第一个参数 pathname是路径名,数据类型是字符数组指针,而fpathconf的第一个参数 files是一个已打开文件的文件标识符,数据类型是一个整数。两个函数的第二个参数name完全一样。
实例 x.2.5.3.c
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
int main()
{
char pathname[256] = "/home";
int files = open(pathname, O_RDONLY);
printf("%s:\n", pathname);
printf("NAME_MAX=%d\n", fpathconf(files, _PC_NAME_MAX));
printf("PATH_MAX=%d\n", fpathconf(files, _PC_PATH_MAX));
printf("LINK_MAX=%d\n", fpathconf(files, _PC_LINK_MAX));
printf("MAX_INPUT=%d\n", fpathconf(files, _PC_MAX_INPUT));
printf("MAX_CANON=%d\n", fpathconf(files, _PC_MAX_CANON));
printf("PIPE_BUF=%d\n", fpathconf(files, _PC_PIPE_BUF));
return 0;
}
编译与运行
[root@localhost unixc]# cc x.2.5.3.c
[root@localhost unixc]# a.out
/home:
NAME_MAX=255
PATH_MAX=4096
LINK_MAX=32000
MAX_INPUT=255
MAX_CANON=255
PIPE_BUF=4096
[root@localhost unixc]#