
Enviado em 09/12/2016 - 09:00h
Boa tarde,#include <stdio.h>
#include <time.h>
// funcao format. Ela recebe um valor do tipo inteiro e caso este seja menor que 10
// ela inclui o 0 na frente. ex.: 1 antes 01 depois
// for fim retorna um ponteiro para uma variavel do tipo char com o valor da conversao
char *format(int number){
char *retorno,
ret[100];
int i;
if (number < 10){
sprintf(ret,"0%d",number);
retorno = ret;
return retorno;
}
else{
sprintf(ret,"%d",number);
retorno = ret;
return retorno;
}
}
// funcao que retorna data
char *data(void){
int dia,mes,ano;
char var1[100],
var2[100],
var3[100],
var4[100],
*dataPtr;
struct tm *local;
time_t t;
t = time(NULL);
local = localtime(&t);
dia = local -> tm_mday;
mes = local -> tm_mon + 1;
ano = local -> tm_year + 1900;
// por algum motivo precisa converter os valores retornados pelos ponteiros
// da funcao em variaveis do tipo char
sprintf(var1,"%s",format(dia));
sprintf(var2,"%s",format(mes));
sprintf(var3,"%s",format(ano));
// cria a variavel de retorno dos dados e cria um ponteiro para essa variavel
sprintf(var4,"%s/%s/%s",var1,var2,var3);
// retorna data no formato dd:MM:yyyy com um ponteiro
dataPtr = var4;
return dataPtr;
}
// funcao que retorna hora
char *hora(void){
int hora,minuto,segundo;
char var1[100],
var2[100],
var3[100],
var5[100],
*retorno;
struct tm *local;
time_t t;
t = time(NULL);
local = localtime(&t);
// obtem hora, minuto e segundo e os aloca em uma variavel do tipo inteiro
hora = local -> tm_hour;
minuto = local -> tm_min;
// por algum motivo precisa converter os valores retornados pelos ponteiros
// da funcao em variaveis do tipo char
sprintf(var1,"%s",format(hora));
sprintf(var2,"%s",format(minuto));
// cria a variavel de retorno dos dados e cria um ponteiro para essa variavel
sprintf(var5,"%s:%s",var1,var2);
// retorna hora no formato hh:mm:ss com um ponteiro
retorno = var5;
return retorno;
}
int main()
{
char data_sistema[100],
hora_sistema[100];
sprintf(data_sistema,"%s",data());
sprintf(hora_sistema,"%s",hora());
printf("%s\n",data_sistema);
printf("%s\n",hora_sistema);
}
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
De volta para o futuro - ou melhor, para o presente (parte 2) (1)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)









