我试图通过glib获得微秒的时间,如果可能的话,这也将在Windows上工作。
我的方法:
char buff[256];
GTimeVal mtime;
g_get_current_time(&mtime);
strftime(buff, sizeof(buff), "%Y-%m-%d %H:%M:%S.%%06u", mtime);
printf("%s\n", buff);
......不按预期工作。
如何使其发挥作用?
感谢。
[编辑] 第二个例子:
GTimeVal start, finish;
g_get_current_time(&start);
//some operation
g_get_current_time(&finish);
GTimeVal el;
el.tv_sec = finish.tv_sec - start.tv_sec;
el.tv_usec = finish.tv_usec - start.tv_usec;
if (el.tv_usec < 0)
{
el.tv_usec += 1000000;
el.tv_sec--;
}
char st[24] = {0};
char qt[32] = {0};
if (counter)
{
sprintf(st, "%s%d%s", " Finded ", counter, " results");
sprintf(qt, " %u.%06u %s", (guint)el.tv_sec, (guint)el.tv_usec, " sec");
}
答案 0 :(得分:3)
您可移植性的最佳注意事项可能是删除GTimeVal
和GDateTime
以及相关函数,该g_date_time_format()
已在glib中弃用。 (strftime()
代替g_date_time_new_now()
,g_get_current_time()
代替{{1}})。