我试图找出如何计算 C99 中某些套接字编程连接之间的毫秒数,但在 C99 上得到 0 毫秒并在 mac 终端上返回实际值。我包括了我的代码的时间部分。
初始化:
struct timeval start,end;
double t1,t2;
t1 = 0.0;
t2 = 0.0;
开始运作:
t1+=start.tv_sec+(start.tv_usec/1000000.0);
操作结束:
t2+=end.tv_sec+(end.tv_usec/1000000.0);
然后以毫秒为单位打印实际时间:
printf("Sent........RTT = %g ms\n",(t2-t1)/100);
最佳答案
假设您正确地更新了 timeval
结构,您计算的不是毫秒,而是整秒,并且您打印差值除以 100 而不是乘以 1000。通过计算时差:
diff += (end.tv_sec - start.tv_sec) * 1000.0 + end.tv_usec / 1000.0 - start.tv_usec / 1000.0;
...
printf("Sent........RTT = %g ms\n", diff / 100);
关于c - c99中的时间以毫秒为单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55787882/