std:: put Time implementation status in GCC?
Я пытался скомпилировать в этом примере программы используете GCC (проверенные версии 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
или так. Может ли кто-нибудь указать мне ресурс, который предоставляет информацию о состоянии реализации для этой библиотеки?
2 ответа:
посмотреть TODO расширенные манипуляторы iomanip std::get_time и std:: put_time для gcc 4.8.0.
см. также кросс-платформенный способ получить время суток? утверждая, что это не реализовано в 4.7.0.
обновление: как разработчик gcc Джонатан Уэйкли подтвердил внизу:
std::get_time
иstd::put_time
манипуляторы все еще отсутствуют в gcc 4.9.
обновление: Джонатан Проснись закрытые этот билет на 22 декабря 2014 года:
исправлено для GCC 5
спасибо simonwo за то, что дал мне знать об этом.
вы могли заметить, что ссылка, которую вы дали, не перечисляет любой запасные части библиотеки! Но под столом написано:
состояние реализации библиотеки можно отслеживать в этом стол
эта таблица отмечает, что
std::get_time
иstd::put_time
манипуляторы еще не реализованы.Edit:
put_time
теперь находится на магистрали разработки GCC.