2 Stimmen

Wie kann man mit der Funktion ctime() die Zeit in Mikrosekunden ausgeben?

HI, wie man Zeit in Makro Sekunde auch mit der Verwendung der folgenden Funktion in C + + zu drucken, ich bin mit,

time_t rawtime;
time(&rawtime);
std::cout<<"Cuuent TIme is ::  "<< ctime(&rawtime)<< std::endl;

Der obige Code liefert mir nur Stunden, Minuten und Sekunden. Ich brauche auch die Mikrosekunden. Irgendein Vorschlag, wie man Zeit mit Mikro-Sekunden auch zu bekommen?

2voto

CrazyC Punkte 1790

Ich habe folgenden Code verwendet, um die Zeit in H, M, S, mS zu erhalten:

 char timeBuf  [256]; 
 struct timeval tv;
 struct timezone tz;
 struct tm *tm;
 gettimeofday(&tv, &tz);
 tm=localtime(&tv.tv_sec);
 sprintf (timeBuf, "%02d:%02d:%02d:%03ld",tm->tm_hour, tm->tm_min, tm->tm_sec, (tv.tv_usec/1000) );

1voto

BSalunke, sieh dir dieses Stück Code an. Enthält die uSeconds und die time_t-Struktur, die Sie verwendet haben.

#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main( int argc, char **argv )
{
        struct timeval timeValue;
        long uSeconds;

        if ( gettimeofday( &timeValue, NULL ) == 0 )
        {
                // This is what you have:
                time_t time = timeValue.tv_sec;
                // This is what you are looking for:
                printf( "Current milliseconds: %ld\n", timeValue.tv_usec );
                return EXIT_SUCCESS;
        }
        else
                return EXIT_FAILURE;
}

0voto

Nim Punkte 32693

Zwei Möglichkeiten:

  1. gettimeofday()
  2. clock(...)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X