Domanda

sto usando C ++ in ambiente Linux compilazione con GCC standard. Nel mio programma che voglio aggiungere un semplice orologio che mostra HH: MM: SS. Qual è il modo più semplice per farlo?

È stato utile?

Soluzione

Un buon modo è quello di utilizzare localtime

Altri suggerimenti

Si può fare uso di localtime insieme a strftime .

lavoro

La mia soluzione rapida-and-dirty:

// 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;
}

Questo fa anche il riempimento di zeri (che probabilmente si desidera).

#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;
}

semplice modo?

system("date +%T");

Guarda getTimeStamp() voi può regolare questo in qualsiasi formato che si desidera

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top