Мне нужна функция, которая будет принимать параметр time_t и произвольную строку формата и форматировать ее. Я хочу что-то вроде этого:
std::string GetTimeAsString(std::string formatString, time_t theTime)
{
struct tm *timeinfo;
timeinfo = localtime( &theTime);
char buffer[100];
strftime(buffer, 100, formatString.c_str(), timeinfo);
std::string result(buffer);
return result;
}
Однако одна проблема, с которой я столкнулся - это длина буфера. Я думал сделать что-то вроде formatString * 4 в качестве длины буфера. Но я полагаю, что вы не можете динамически устанавливать длину буфера? Может быть, я могу выбрать произвольно большой буфер? Я немного запутался, как сделать это универсальным.
Как я могу написать функцию для достижения этого?