У меня есть ниже функции в моем приложении:найти длину отформатированной строки в C
void func(char *file, int line)
{
char stmt[150];
sprintf(stmt, "Failed in file %s, at line number %d", file, line);
}
Здесь я беру массив символов из 150 байт (грубое предположение), а мне нужно, чтобы найти длину из строку, которую я дал в sprintf(), и взять массив этого размера.
Pls предлагает мне, если такой объект в C, чтобы найти длину отформатированной строки. Спасибо!
Если у вас нет верхней границы для длины 'файла', вам необходимо выделить необходимый объем памяти с помощью' malloc() '. –
'int length = snprintf (NULL, 0," Ошибка в файле% s, номер строки% d ", файл, строка);' – BLUEPIXY
Связанный: http://stackoverflow.com/questions/3774417/sprintf-with- автоматическое распределение памяти – abligh