我有一个函数作为
transTime()
{
time_t const now_c = time(NULL);
cout << put_time(localtime(&now_c), "%a %d %b %Y - %I:%M:%S%p");
}
我试图将返回的值保存到一个变量中,这样我就可以做类似的事情
string myTime = put_time(localtime(&now_c), "%a %d %b %Y - %I:%M:%S%p");
我需要对两个不同的插入使用相同的 myTime 实例。
编辑/更新:
使用stringstream后,
string transTime()
{
stringstream transTime;
time_t const now_c = time(NULL);
transTime << put_time(localtime(&now_c), "%a %d %b %Y - %I:%M:%S%p");
string myTime = transTime.str();
//transTime >> myTime;
return myTime;
}
当我调用该函数时,我得到的是单独的 Tue
,而不是完整的日期和时间。
很可能与 getline 有关,不确定如何实现。
有什么帮助吗?
最佳答案
当您使用 stringstream
捕获 localtime()
的输出,您可以存储存储在 stringstream
中的字符串通过使用 .str()
.
也就是说,
string myTime = transTime.str();
return myTime;
关于c++ - 如何将 put_time 放入变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28977585/