我需要一个包含时间戳毫秒的字符串。我在这里查找后得到了毫秒。
milliseconds ms = duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
);
现在我需要像这样连接它:
string = "something " + ms + " something else";
需要帮忙吗? 提前感谢您的帮助 :)
我需要一个包含时间戳毫秒的字符串。我在这里查找后得到了毫秒。
milliseconds ms = duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
);
string = "something " + ms + " something else";
需要帮忙吗? 提前感谢您的帮助 :)
ms
转换为字符串的方法。标准库提供了std::to_string()
,但它不能直接用于持续时间的转换。要将持续时间转换为可使用to_string()
的整数类型,您需要使用count()
函数。string = "something " + std::to_string(ms.count()) + " something else";
count
方法和std::to_string
。示例:string = "something " + std::to_string(ms.count()) + " something else"
ms.count()
打印为%llu
,它可以正常工作,但是如果我尝试将std::to_string(ms.count())
打印为%s
,则会出现奇怪的字符,例如��。 - Crisoberilloconst char* postData = ("ts="+ std::to_string(ms.count()) + "&a=move").c_str();
。我的问题是postData
为空,但如果我用一个手动插入的小整数替换ms.count()
,它就可以正常工作。如果我使用的整数太大(6位或更多),我又会遇到空字符串的问题。10000和99999都可以,但再多一位数字,比如100000和999999,就会出现空字符串的问题。希望这样清楚易懂。 - Crisoberilloconst char*
,则可以随时调用c_str()
。auto timestamp = "ts="+ std::to_string(ms.count()) + "&a=move"; some_function(timestamp.c_str());
- NathanOliver"ts="+ std::to_string(ms.count()) + "&a=move"
存储在一个变量中?非常感谢 :) - Crisoberillo