ASPRINTF - Linux手册页

时间:2019-08-20 17:59:53  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2019-03-06

名称

asprintf,vasprintf-打印到分配的字符串

语法

#定义_GNU_SOURCE / 参见feature_test_macros(7)/
#包括

int asprintf(char ** strp,const char * fmt,...);

int vasprintf(char ** strp,const char * fmt,va_list ap);

说明

函数asprintf()和vasprintf()与sprintf(3)和vsprintf(3)类似,不同之处在于它们分配的字符串足够大以容纳包含终止空字节(aq \ 0aq)的输出,并返回指向的指针。通过第一个参数。该指针应传递给free(3)以在不再需要时释放分配的存储。

返回值

成功后,这些函数将返回打印的字节数,就像sprintf(3)一样。如果无法进行内存分配,或者发生其他错误,则这些函数将返回-1,并且strp的内容未定义。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
asprintf(),vasprintf()Thread safetyMT-Safe locale

遵循规范

这些函数是GNU扩展,不在C或POSIX中。它们也可以在* BSD下获得。 FreeBSD实现在出错时将strp设置为NULL。

另外参见

free(3),malloc(3),printf(3)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/