0

我还需要仅使用“time.h”库来获取毫秒数。

几秒钟,这就是我所拥有的:

time_t now;
time(&now);

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

2 回答 2

6

分别由 C 和 C++ 标准指定的头文件<time.h><ctime>头文件不支持亚秒级计时。

如果您可以使用 C++ 并拥有与 C++11 兼容的环境,那么您可以获得该std::chrono功能的可移植支持。还有一个boost::chrono可以在旧版本的 C++ 中使用。

否则,您将不得不使用特定系统,例如gettimeofday在 Linux/Unix 和SystemTimeWindows 中。对于其他操作系统,您需要查看有哪些时间函数(如果有)。

于 2013-06-27T14:59:04.877 回答
1

通常人们会为此使用特定于操作系统的或第三方库函数(例如clock_gettime在 Linux 上)。然而,如果你很绝望并且真的不能使用任何其他函数,你可以让你的程序忙等待并使用clock()time.h 中的函数计算处理器周期。然而,这当然不是一个好主意 - 只需使用提供您需要的许多其他头文件之一。

于 2013-06-27T15:01:49.910 回答