std:: mettre l'état de la mise en œuvre du temps dans GCC?
j'essayais de compiler cet exemple de programme en utilisant GCC (versions testées 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'
j'ai pensé, probablement il n'est pas encore mis en œuvre. J'ai donc essayé de vérifier le statut d'implémentation de cette fonction. Je n'ai trouvé cette page:
mais je n'ai pu trouver aucune note sur put_time
ou chrono
ou similaire. Quelqu'un peut-il m'indiquer une ressource qui fournit des informations sur l'état de mise en œuvre de cette bibliothèque?
2 réponses
Voir TODO étendu iomanip manipulateurs std::get_time et std::put_time pour gcc 4.8.0.
Voir aussi de la Croix-Plate-forme de façon à obtenir le moment de la journée? qui n'est pas mis en œuvre dans la section 4.7.0.
mise à jour: comme le développeur gcc Jonathan Wakely confirmé ci-dessous: les manipulateurs std::get_time
et std::put_time
sont toujours introuvable dans gcc 4.9.
mise à jour: Jonathan Wakely fermé ce billet le 22 décembre, 2014:
fixe pour GCC 5
Merci simonwo de m'en avoir informé.
vous avez peut-être remarqué que le lien que vous avez donné ne répertorie pas les parties de la bibliothèque! Mais en dessous du tableau il y a écrit:
l'état de la mise en œuvre de la bibliothèque peut être suivi dans ce table
ce tableau indique que les manipulateurs std::get_time
et std::put_time
ne sont pas encore mis en œuvre.
Edit: put_time
est maintenant sur le GCC le développement du tronc.