簡體   English   中英

GCC中的std :: put_time實施狀態?

[英]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_timechrono或一致好評。 任何人都可以指向我提供有關此庫的實施狀態的信息的資源嗎?

有關gcc 4.8.0的信息,請參閱TODO擴展iomanip操縱器std :: get_time和std :: put_time。

另請參閱Cross Platform獲取時間的方法? 聲稱沒有在4.7.0中實現。


更新:正如gcc開發人員Jonathan Wakely在下面證實的那樣:gcc 4.9中仍然缺少std::get_timestd::put_time操縱器。


更新: Jonathan Wakely 2014年12月22日關閉此門票:

適用於GCC 5

謝謝simonwo讓我知道它。

您可能已經注意到您提供的鏈接未列出庫的任何部分! 但在表格下面說:

可以在此表中跟蹤庫實現的狀態

該表指出std::get_timestd::put_time操縱器尚未實現。

編輯: put_time現在在GCC開發主干上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM