Pregunta

Estoy usando C ++ en Linux compilar con GCC estándar. En mi programa Quiero añadir un reloj sencillo que muestra HH: MM: SS. ¿Cuál es la manera más fácil de hacer eso?

¿Fue útil?

Solución

Una buena manera es usar hora local

Otros consejos

Se puede hacer uso de hora local junto con strftime .

Trabajo

Mi solución rápida y sucia-:

// file now.cc
#include <iostream>
#include <iomanip>
#include <ctime>

using namespace std;

int main()
{
    time_t ct = time(0);
    struct tm* currtime = localtime(&ct);
    cout << setfill('0') << setw(2) << currtime->tm_hour << ":"
         << setw(2) << currtime->tm_min << ":"
         << setw(2) << currtime->tm_sec << endl;
    return 0;
}

Esto también hace relleno con ceros (lo que es probable que desee).

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void delay(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}
int main()
{
    time_t myTime;

    while(1)
    {
        time(&myTime);
        printf("%s", asctime(gmtime(&myTime)));
        delay(1000);
        system("cls");
    }
    return 0;
}

El más fácil manera?

system("date +%T");

Mira getTimeStamp() se puede ajustar esto a cualquier formato que desee

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top