C++ 如何在C+中简洁地将当前时间添加到字符串中+;?

C++ 如何在C+中简洁地将当前时间添加到字符串中+;?,c++,string,time,C++,String,Time,我想在代码的这一部分中为文件名添加一个时间戳: takeScreenshot( "screenshot.png" ); 但我发现所有的方法都显得不必要的冗长和复杂。例如,创建新字符串、加载时间结构、将时间结构的元素转换为字符数组并将其附加到字符串 有没有一条捷径可以做到这一点?大多数其他语言都有一些简单的解决方案,如: takeScreenshot( sprintf( "screenshot-%d.png", time() ) ); 是否有C++中的一个?时间格式无关紧要。连接字符串是很长且

我想在代码的这一部分中为文件名添加一个时间戳:

takeScreenshot( "screenshot.png" );
但我发现所有的方法都显得不必要的冗长和复杂。例如,创建新字符串、加载时间结构、将时间结构的元素转换为字符数组并将其附加到字符串

有没有一条捷径可以做到这一点?大多数其他语言都有一些简单的解决方案,如:

takeScreenshot( sprintf( "screenshot-%d.png", time() ) );
<>是否有C++中的一个?时间格式无关紧要。

连接字符串是很长且复杂的,这是隐藏的


一个很好的方法是使用
std::stringstream
重载
您可以使用stringstream,也可以在字符串之间使用+运算符:

takeScreenshot("screenshot-" + time() + ".png");

“这不是std::string,无法添加”
您也可以尝试boost::lexical\u cast不要忘记添加“sstream.h”头文件。。!
takeScreenshot("screenshot-" + time() + ".png");