time.c

来自「足球机器人自动程序」· C语言 代码 · 共 63 行

C
63
字号
#include <stdio.h>#include <time.h>#include <unistd.h>inline double nano(long x) {	return ((double)x) / 1.0e9;}int main() {	struct timespec r1, r2, r3;	int t1;	double t2;	r3.tv_sec = 1;	r3.tv_nsec = 0;	if (clock_getres(CLOCK_REALTIME, &r1) < 0) {		perror("getres");		return -1;	}	printf("%f\n", nano(r1.tv_nsec));	for (;;) {		clock_gettime(CLOCK_REALTIME, &r1);		nanosleep(&r3, NULL);		clock_gettime(CLOCK_REALTIME, &r2);		t2 = nano(r2.tv_nsec - r1.tv_nsec);		t1 = r2.tv_sec - r1.tv_sec;		if (t2 < 0) {			t2 += 1.0;			t1 -= 1;		}		printf("%f\t", t2);		clock_gettime(CLOCK_REALTIME, &r1);		sleep(1);		clock_gettime(CLOCK_REALTIME, &r2);		t2 = nano(r2.tv_nsec - r1.tv_nsec);		t1 = r2.tv_sec - r1.tv_sec;		if (t2 < 0) {			t2 += 1.0;			t1 -= 1;		}		printf("%f\t", t2);		clock_gettime(CLOCK_REALTIME, &r1);		usleep(1e6);		clock_gettime(CLOCK_REALTIME, &r2);		t2 = nano(r2.tv_nsec - r1.tv_nsec);		t1 = r2.tv_sec - r1.tv_sec;		if (t2 < 0) {			t2 += 1.0;			t1 -= 1;		}		printf("%f\t", t2);		printf("\n");	}	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?