我需要找到系统时间,因为我的 C 代码中的 Linux 机器已通电。
'time()' 和 gettimeofday() 等函数返回自纪元以来的时间,而不是开机以来的时间。
如何查找自开机以来的时间或时钟滴答数?
提前致谢!
该信息是通过以下方式提供的/proc
文件系统API。具体来说,/proc/uptime
。在C中,只需将其作为普通文件打开并从中读取一个浮点数即可。这将是自通电以来的秒数。如果您读取另一个 FP 值,它将是系统总共空闲了多少秒。不过,您只对第一个数字感兴趣。
Example:
float uptime;
FILE* proc_uptime_file = fopen("/proc/uptime", "r");
fscanf(proc_uptime_file, "%f", &uptime);
该值以秒为单位,浮点数。
您可以将其转换回时钟滴答声:
uptime * sysconfig(_SC_CLK_TCK);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)