CONFSTR - Linux手册页
时间:2019-08-20 18:00:03 来源:igfitidea点击:
Linux程序员手册 第3部分
更新日期: 2020-06-09
名称
confstr-获取配置相关的字符串变量
语法
#include <unistd.h> size_t confstr(int name, char *buf, size_t len);
glibc的功能测试宏要求(请参阅feature_test_macros(7)):
confstr():_POSIX_C_SOURCE => 2 || _XOPEN_SOURCE
说明
confstr()获取依赖于配置的字符串变量的值。
name参数是要查询的系统变量。支持以下变量:
- _CS_GNU_LIBC_VERSION(GNU C library only; since glibc 2.3.2)
- 标识此系统上GNU C库版本的字符串(例如" glibc 2.3.4")。
- _CS_GNU_LIBPTHREAD_VERSION(GNU C library only; since glibc 2.3.2)
- 标识此C库提供的POSIX实现的字符串(例如" NPTL 2.3.4"或" linuxthreads-0.10")。
- _CS_PATH
- PATH变量的值,指示可以在哪里找到所有POSIX.2标准实用程序。
如果buf不为NULL并且len不为零,则confstr()将字符串的值复制到buf截断为len-1个字节(如有必要),并以空字节(aq \ 0aq)作为终止符。可以通过将confstr()的返回值与len比较来检测到。
如果len为零且buf为NULL,则confstr()仅返回如下定义的值。
返回值
如果name是有效的配置变量,则confstr()返回保存该变量的整个值所需的字节数(包括终止的空字节)。该值可能大于len,这意味着buf中的值被截断了。
如果name是有效的配置变量,但该变量没有值,则confstr()返回0。如果name不对应于有效的配置变量,则confstr()返回0,并将errno设置为EINVAL。
错误说明
- EINVAL
- 名称的值无效。
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
confstr() | Thread safety | MT-Safe |
遵循规范
POSIX.1-2001,POSIX.1-2008。
示例
以下代码片段确定了在其中找到POSIX.2系统实用程序的路径:
char *pathbuf; size_t n; n = confstr(_CS_PATH, NULL, (size_t) 0); pathbuf = malloc(n); if (pathbuf == NULL) abort(); confstr(_CS_PATH, pathbuf, n);
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。