我试着用GCC编译this example program (测试版本4.5.1,4.6.3,4.8.4):
#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
using std::chrono::system_clock;
int main()
{
system_clock::time_point now = system_clock::now();
std::time_t now_c = system_clock::to_time_t(
now - std::chrono::hours(24));
std::cout << "One day ago, the time was "
<< std::put_time(std::localtime(&now_c), "%F %T") << '\n';
}
prog.cpp: In function 'int main()':
prog.cpp:14:18: error: 'put_time' is not a member of 'std'
我想,它可能还没有实现。所以我试着检查这个函数的实现状态。我只找到了这个页面:
但我在put_time
或chrono
或类似网站上找不到任何笔记。有没有人能给我介绍一下关于这个库的实现状态的资源?
发布于 2013-01-03 18:44:49
请参阅针对gcc 4.8.0的TODO extended iomanip manipulators std::get_time and std::put_time。
另请参阅4.7.0中未实现的Cross Platform way to get the time of day?声明。
更新:作为gcc开发人员Jonathan Wakely confirmed如下:在gcc 4.9中仍然缺少std::get_time
和std::put_time
操纵器。
更新:2014年12月22日, Jonathan Wakely closed此门票:
已为GCC 5修复
谢谢simonwo让我知道这件事。
发布于 2013-01-03 23:52:29
您可能已经注意到,您给出的链接没有列出库的任何部分!但在表格下面写的是:
可以在此table中跟踪库实现的状态
该表指出,std::get_time
和std::put_time
操纵器尚未实现。
编辑:put_time
现在位于GCC的开发主干上。
https://stackoverflow.com/questions/14136833
复制相似问题