asprintf.c

来自「linux内核」· C语言 代码 · 共 31 行

C
31
字号
/* * asprintf.c */#include <stdio.h>#include <stdlib.h>#include <stdarg.h>int asprintf(char **bufp, const char *format, ...){  va_list ap, ap1;  int rv;  int bytes;  char *p;  va_start(ap, format);  va_copy(ap1, ap);  bytes = vsnprintf(NULL, 0, format, ap1) + 1;  va_end(ap1);  *bufp = p = malloc(bytes);  if ( !p )    return -1;    rv = vsnprintf(p, bytes, format, ap);  va_end(ap);  return rv;}

⌨️ 快捷键说明

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