std::get_time()函式


此函式首先通過構造一個型別為 basic_istream::sentry 的物件來存取輸入序列。
然後(如果計算 sentry 物件為 true),它呼叫 time_get::get(使用流的所選區域設定)來執行提取和解析操作,並相應地調整流的內部狀態標誌。
最後,它在返回之前銷毀 sentry 物件。

它用於從應用中輸入流的字元中提取字元,並將它們解析為引數fmt中指定的時間和日期資訊。獲得的資料儲存在tmb指向的struct tm物件。

宣告

以下是 std::get_time 函式的宣告。

template <class charT>
/*unspecified*/ get_time (struct tm* tmb, const charT* fmt);

引數

  • tmb ? 指向struct tm型別的物件的指標,其中儲存提取的時間和日期資訊。struct tm是在ctime>頭中定義的類。

  • fmt ? time_get::get使用 C字串作為格式字串(見 time_get::get)。 charT是c字串中的字元型別。

範例

在下面的例子中解釋 get_time() 函式的用法。

#include <iostream>     
#include <iomanip>      
#include <ctime>        

int main () {
  struct std::tm when;
  std::cout << "Please, enter the time: ";
  std::cin >> std::get_time(&when,"%R");   

  if (std::cin.fail()) std::cout << "Error reading time/n";
  else {
    std::cout << "The time entered is: ";
    std::cout << when.tm_hour << " hours and " << when.tm_min << " minutes/n";
  }

  return 0;
}