我只需要使用“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