LINUX.ORG.RU

как правильно вывести текущее время в С ?


0

0

#include "stdio.h"
#include <stdlib.h>
#include <sys/time.h>
#include <string.h>


int main( void ) {
  struct timeval tv0;
  gettimeofday(&tv0,0);

  printf("time = %6f s %6f ms\n",tv0.tv_sec, tv0.tv_usec);
  return 0;
}

пишет какуюто лабуду. А хочется, чтобы выводилось полное текущее 
время запуска программы с точностью до миллисекунд(а мега здорово бы 
было чтобы время выводилось с точностью до 6-го знача после запятой). 
Чего я делаю не так?
☆☆

1) s/gettimeofday(&tv0,0);/gettimeofday(&tv0,NULL);/

2) кто сказал, что tv_sec и tv_usec - floats?

; asgard

anonymous
()

>а мега здорово бы было чтобы время выводилось с точностью до 6-го знача после запятой
clock_gettime

Vitel ★★
()

Попробуй

printf("sec: %u, msec: %u",tv0.tv_sec,tv0.tv_usec);

tv_usec - микросекунды - то, что тебе вроде как и надо.

Ну и кроме того man gettimeofday конечно:)

staseg ★★★★★
()

все, всем спасибо!

vilfred ☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.