Maneira mais simples de mostrar um relógio em C ++ e Linux
Pergunta
Estou usando C ++ no Linux compilando com o GCC padrão. No meu programa, quero adicionar um relógio simples mostrando HH: MM: SS. Qual é a maneira mais fácil de fazer isso?
Solução
Uma boa maneira é usar horário local
Outras dicas
Você pode usar horário local juntamente com strftime.
Minha solução rápida e suja:
// 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;
}
Isso também faz padding zero (que você provavelmente deseja).
#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;
}
o mais fácil caminho?
system("date +%T");
Olhe para getTimeStamp()
você pode ajustar isso para qualquer formato que quiser
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow