我有一个功能

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;
}

使用call函数时,我得到的是Tue,而不是完整的日期和时间。
最有可能与getline有关,不确定该如何实现。
有什么帮助吗?

最佳答案

当您使用stringstream捕获localtime()的输出时,可以使用stringstream存储存储在.str()中的字符串。

那是,

string myTime = transTime.str();
return myTime;

关于c++ - 如何将put_time放入变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28977585/

10-14 12:08