gpt4 book ai didi

c++ - 如何创建自定义 boost::posix_time to_string 格式化程序?

转载 作者:行者123 更新时间:2023-11-28 08:17:40 24 4
gpt4 key购买 nike

目前我必须使用类似的东西

ptime t = from_time_t(last_write_time(p));
std::string Created = boost::posix_time::to_iso_extended_string(t) ;

或:

ptime t = from_time_t(last_write_time(p));
std::ostringstream formatter;
formatter.imbue(std::locale(std::cout.getloc(), new boost::posix_time::time_facet("%a, %d %b %Y %H:%M:%S GMT")));
formatter << t;
std::string Created = formatter.str();

第一个速度很快但与浏览器想要的标题时间格式不兼容,第二个太慢了。所以我想知道 - 如何创建快速而有效的 ptime 到字符串格式化程序,将 ptime 转换为 "%a, %d %b %Y %H:%M:%S GMT" 格式而不是使用 ostringstream.str()(因为它们对我来说太慢了)?

最佳答案

我总是因为使用 sprintf 而被激怒,但这有什么问题吗?

char buffer[...];
sprintf(buffer, "%s, %d %s %04d %02d:%02d:%02d GMT", t ...);
std::string Create(buffer);

我不知道 ptime 类型的细节,所以我不知道你必须使缓冲区有多大才能安全,或者你会为 sprintf 的参数放置什么,但毫无疑问你可以填写详细信息。

还有您可能感兴趣的 C 函数 strftimehttp://www.cplusplus.com/reference/clibrary/ctime/strftime/

关于c++ - 如何创建自定义 boost::posix_time to_string 格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7143276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com