Estoy trabajando en un proyecto con Visual C++ /CLR en modo de consola.
¿Cómo puedo obtener el reloj del sistema en cuestión de microsegundos ?
Quiero mostrar hours:minutes:seconds:microseconds

El siguiente programa funciona bien, pero no es compatible con otras plataformas:

#include <stdio.h>
#include <sys/time.h>
int main()
{
     struct timeval tv;
     struct timezone tz;
     struct tm *tm;
     gettimeofday(&tv, &tz);
     tm=localtime(&tv.tv_sec);
     printf(" %d:%02d:%02d %ld \n", tm->tm_hour, tm->tm_min,tm->tm_sec, tv.tv_usec);
     return 0;
}
  • Este es un sitio internacional, así que por favor utilizar el inglés.
InformationsquelleAutor jellad.tarek | 2012-04-30

2 Comentarios

  1. 1

    Usted podría utilizar ptime microsec_clock::local_time() de Boost.

    La documentación está disponible aquí.

    Después de eso, usted puede utilizar std::string to_iso_extended_string(ptime) para mostrar el vuelto en el tiempo como una cadena, o puede utilizar los miembros de ptime directamente a formato de la salida por sí mismo.

    De todos modos vale la pena señalar que:

    Win32 sistemas no suelen alcanzar una resolución de microsegundos a través de esta API. Si la mayor resolución es fundamental para la aplicación de la prueba de su plataforma para ver la resolución alcanzado.

    Así que supongo que depende de cómo de precisión que requieren de su «reloj» para ser.

  2. 0

    gracias Señor ereOn

    He seguido tus instrucciones y he escrito este código ==> funciona 100 %

    #include <iostream>
    #include "boost/date_time/posix_time/posix_time.hpp" 
    
    typedef boost::posix_time::ptime Time;
    
    
    int main (){
    
        int i;
        Time t1;
    
        for (int i=0;i<1000;i++)
        {
    
             t1=boost::posix_time::microsec_clock::local_time();
         std::cout << to_iso_extended_string(t1) << "\n";
        }
    
    
        return 0;
    }
    • Esto no es cómo funciona ASÍ. Usted debe aceptar ereOn la respuesta, y — si usted se siente un completo listado de código es necesario — editar ereOn de anunciar, publicar o utilizar la función de comentario para preguntar ereOn para agregar el código.

Dejar respuesta

Please enter your comment!
Please enter your name here