【发布时间】:2011-12-17 15:22:51
【问题描述】:
我想要一个函数,该函数将采用 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 作为缓冲区长度。但我猜你不能动态设置缓冲区长度?也许我可以选择一个任意大的缓冲区?我有点不知道如何使它通用。
如何编写函数来实现这一点?
【问题讨论】:
标签: c++ time buffer stdstring strftime