我从 SO 那里得到了这个答案:
https://stackoverflow.com/a/2409054/997112
这样我就可以以友好的格式打印 timeval 结构。我不得不改变"%s.%06d"
因为"%s.%06ld"
我收到编译器警告:
void printTimeval(struct timeval& tv){
time_t nowtime;
struct tm *nowtm;
char tmbuf[64], buf[64];
nowtime = tv.tv_sec;
nowtm = localtime(&nowtime);
strftime(tmbuf, sizeof tmbuf, "%Y-%m-%d %H:%M:%S", nowtm);
snprintf(buf, sizeof buf, "%s.%06ld", tmbuf, tv.tv_usec);
}
但是,当我通过有效时间时,什么都不会打印。
我在调用我的函数之前检查了传入的 timeval 中的秒数,它返回 1404120855,所以我确信我的 timeval 是正确的,问题出在函数上?