我还需要仅使用“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++ 中使用。
否则,您将不得不使用特定系统,例如gettimeofday
在 Linux/Unix 和SystemTime
Windows 中。对于其他操作系统,您需要查看有哪些时间函数(如果有)。
通常人们会为此使用特定于操作系统的或第三方库函数(例如clock_gettime
在 Linux 上)。然而,如果你很绝望并且真的不能使用任何其他函数,你可以让你的程序忙等待并使用clock()
time.h 中的函数计算处理器周期。然而,这当然不是一个好主意 - 只需使用提供您需要的许多其他头文件之一。