Как распечатать миллисекунды в C?
Я хочу напечатать время в формате чч: мм: сс: мс (миллисекунды). Я мог печатать в формате чч: мм: сс. Как можно распечатать оставшиеся миллисекунды?
3 ответа
Решение
#include<sys/timeb.h>
#include<time.h>
int main(void) {
struct timeb tp;
ftime(&tp);
char timeString[80];
strftime(timeString, sizeof(timeString), "%H:%M:%S", localtime(&tp.time));
printf("%s:%d", timeString, tp.millitm);
return 0;
}
Это то, что я использую в Linux ...
struct timeval tv;
gettimeofday(&tv,0);
time_t long_time;
struct tm *newtime;
time(&long_time);
newtime = localtime(&long_time);
char result[100] = {0};
sprintf(result, "%02d:%02d:%02d.%03ld", newtime->tm_hour,newtime->tm_min,newtime->tm_sec, (long)tv.tv_usec / 1000);
return result;
У меня нет опыта работы в Windows .. попробуйте найти похожие звонки..
Если вы работаете с библиотекой MSDN, вы можете попробовать
GetSystemTimeAsFileTime( pointerToSetToTime );
Который устанавливает аргумент указателя на текущее системное время с интервалом в 100 наносекунд.