ASPRINTF

Section: Linux Programmer's Manual (3)
Updated: 2019-03-06
Index JM Home Page
 

名前

asprintf, vasprintf - 文字列を割り当ててそれに出力する  

書式

#define _GNU_SOURCE /* feature_test_macros(7) 参照 */
#include <stdio.h>

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

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

説明

asprintf() 関数と vasprintf() 関数とは、それぞれ sprintf(3) 関数と vsprintf(3) 関数とに似ているが、 出力文字列を (終端のヌルバイト ('\0') も含めて) 保持するのに十分な大きさのメモリーを確保し、 最初の引数にその文字列へのポインターを返す。 このポインターは、不要になったら free(3) に渡し、割り当てられた記憶領域を解放すべきである。  

返り値

成功すると、これらの関数は出力されたバイト数を (sprintf(3) のように) 返す。 メモリーの割り当てができなかったり、 その他エラーが生じると、 これらの関数は -1 を返し、 strp の内容は未定義となる。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
asprintf(), vasprintf() Thread safety MT-Safe locale

 

準拠

これらの関数は GNU の拡張であり、C や POSIX のものではない。 これらは *BSD でも利用できる。 FreeBSD の実装では、エラーの際には strp を NULL にセットする。  

関連項目

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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

asprintf   vasprintf   メモリー   ポインター   define   feature   macros   stdio   list   終端   ヌルバイト   保持   確保   最初   記憶   領域   解放   成功   バイト   割り当て   未定義   用語   allbox   インターフェース   属性

Linux マニュアル 一覧

関連するコマンド・関数

asprintf.3   strchr.3   strchrnul.3   strrchr.3   memmem.3   memchr.3
 

Index

名前
書式
説明
返り値
属性
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:19 GMT, October 11, 2026