簡體   English   中英

如何使用“ time.h”庫(僅)以毫秒為單位獲取當前時間?

[英]How to get current time with milliseconds using “time.h” library (only)?

我還需要僅使用“ time.h”庫來獲取毫秒數。

幾秒鍾,這就是我所擁有的:

time_t now;
time(&now);

printf("seconds since  Jan 1, 1970 %d", now);

分別由C和C ++標准指定的<time.h><ctime>頭文件不支持亞秒級計時。

如果可以使用C ++並具有C ++ 11兼容的環境,則可以使用std::chrono功能獲得可移植的支持。 還有一個boost::chrono可以在舊版本的C ++中使用。

否則,您將必須特定於系統,例如Linux / Unix中的gettimeofday和Windows中的SystemTime 對於其他操作系統,您需要查找那里的時間功能(如果有)。

通常,通常為此使用操作系統特定的或第三方庫函數(例如,Linux上的clock_gettime )。 但是,如果您絕望並且確實無法使用任何其他函數,則可以使用time.h中的clock()函數使程序忙於等待並計數處理器周期。 但是,這當然不是一個好主意-僅使用提供您所需內容的許多其他頭文件之一。

暫無
暫無

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

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