我只需要使用「time.h」庫來獲得毫秒。如何使用「time.h」庫(僅)以毫秒爲單位獲取當前時間?
對於秒,這是我有:
time_t now;
time(&now);
printf("seconds since Jan 1, 1970 %d", now);
我只需要使用「time.h」庫來獲得毫秒。如何使用「time.h」庫(僅)以毫秒爲單位獲取當前時間?
對於秒,這是我有:
time_t now;
time(&now);
printf("seconds since Jan 1, 1970 %d", now);
的<time.h>
或<ctime>
頭文件,如由C和C++標準分別指定,不支持亞秒定時。
如果您可以使用C++並擁有C++ 11兼容環境,那麼您可以通過使用std::chrono
功能獲得便攜式支持。還有一個boost::chrono
可以用於舊版本的C++。
否則,你必須去系統特定的,例如Linux/Unix中的gettimeofday
和Windows中的SystemTime
。對於其他操作系統,你需要查看什麼,如果有的話,有時間功能。
通常情況下,您可以爲此使用操作系統特定或第三方庫函數(例如,Linux上的clock_gettime
)。但是,如果您絕望並且無法使用任何其他函數,則可以使程序繁忙 - 使用time.h中的clock()
函數等待並計算處理器週期。但是,這當然不是一個好主意 - 只需使用其他許多頭文件之一即可提供所需的內容。
這個問題的答案主要取決於你有什麼標準可用...只有C ...或POSIX,如果是的話,哪個版本。 – PlasmaHH