在GCC的std :: put_time实现状态?
我试图编译这个使用GCC的示例程序 (testing版本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'
我想,可能还没有实现。 所以我试图检查这个函数的实现状态。 我只find这个网页:
- http://gcc.gnu.org/projects/cxx0x.html
但在那里我找不到任何有关put_time
或put_time
或类似的笔记。 任何人都可以指向一个资源,提供有关该库的实现状态的信息?
看到TODO扩展iomanip操纵器std :: get_time和std :: put_time为gcc 4.8.0。
另请参阅跨平台方式获取一天的时间? 声称在4.7.0中没有执行。
更新:正如std::get_time
开发人员Jonathan Wakely在下面证实 : std::get_time
和std::put_time
操纵std::put_time
在gcc 4.9中仍然缺失。
更新: 2014年12月22日,Jonathan Wakely closures了这张票:
固定为GCC 5
谢谢simonwo让我知道这件事。
你可能已经注意到你给的链接没有列出库的任何部分! 但在桌子下面说:
在这个表中可以跟踪库实现的状态
该表注意到std::get_time
和std::put_time
操纵std::put_time
尚未实现。
编辑: put_time
现在在GCC开发主干上。