asprintf.c

来自「this is a mirrored site c-faq. thought 」· C语言 代码 · 共 32 行

C
32
字号
/* based on <2001Sep19.2243.scs.0019@aeroroot.scs.ndip.eskimo.net> */#include <stdlib.h>#include <stdarg.h>#include <stdio.h>intsaprintf(char **retp, const char *fmt, ...){	va_list argp;	int len;	char *buf;	va_start(argp, fmt);	len = vsnprintf(NULL, 0, fmt, argp);	va_end(argp);	buf = malloc(len + 1);	if(buf == NULL)		{		*retp = NULL;		return -1;		}	va_start(argp, fmt);	vsnprintf(buf, len+1, fmt, argp);	va_end(argp);	*retp = buf;	return len;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?