c - c99中的时间以毫秒为单位?

标签 c time c99 time.h

我试图找出如何计算 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/

相关文章:

python - 如何找到python的Modules/_io/bufferedio.c?

c - 这个lseek, fseek, read, fread有什么区别?

c - 管道和 fork - scanf 只读取一个字符

javascript - 在一天中的特定时间淡入/淡出元素

编写十六进制和十进制数的简单加法的约定

c - 错误 "Stack around variable was corrupted"

c - 如何返回第三个结构中两个结构值之间的差异?

c++ - 不涉及时间的 rand() 种子?

time - 在 Swift 中获取 Unix 纪元时间

c - 如何从 C99 函数声明中确定返回类型、参数、函数名