LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Конечный, конечно. Я же многоточие проставил опустив проверки, ну хорошо вот тогда так,выясняем какой размер нам нужен, выделяем, заполняем и впиндюриваем конец строки, но суть то одна.

int len = 0;
char *  buffer = malloc(sizeof(char) * (len = vsnprintf(NULL,0,fmt,args)+1)  );
vsnprintf(buffer,len,fmt,args);
buffer[len]='\0';

Конечно и тут проверки нужны, но всё же.

Исправление LINUX-ORG-RU, :

Конечный, конечно. Я же многоточие проставил опустив проверки, ну хорошо вот тогда так,выясняем какой размер нам нужен, выделяем, заполняем и впиндюриваем конец строки, но суть то одна.

int len = 0;
char *  buffer = malloc(sizeof(char) * (len = vsnprintf(NULL,0,fmt,args)+1)  );
vsnprintf(buffer,len,fmt,args);
buffer[len]='\0';

Исходная версия LINUX-ORG-RU, :

Конечный, конечно. Я же многоточие проставил опустив проверки, ну хорошо вот тогда так, но суть то одна.

int len = 0;
char *  buffer = malloc(sizeof(char) * (len = vsnprintf(NULL,0,fmt,args)+1)  );
vsnprintf(buffer,len,fmt,args);
buffer[len]='\0';