thiagova
(usa Ubuntu)
Enviado em 27/04/2010 - 14:45h
A data é mostrada no formato de uma string, tanto é que para a sua impressão usa-se o '%s', então deve-se fracionar esta string separando-a pelos índice correspondente à cada caractere que a compõe.
// Código de divisão da string DATE
#include<stdio.h>
#include<time.h>
int main()
{
char mes[4], dia[3], ano[5];
strcpy(mes, "");
strcpy(dia, "");
strcpy(ano, "");
strncat(mes, __DATE__ , 3);
strncat(dia, __DATE__ +4, 2);
strncat(ano, __DATE__ +7, 4);
printf("%s %s %s\n", dia, mes, ano);
system("PAUSE");
}
Vamos fazer um exemplo:
DATE: Apr 27 2010
A p r 2 7 2 0 1 0
índice: 1 2 3 4 5 6 7 8 9 10 11
Para usarmos uma string, sua variável aponta para o índice 1, ou seja, a variável string[0] aponta para um end de memória, por exemplo 24456, aonde se encontra o índice 1 da nossa string, se somarmos 1 a esta variável, dizemos que estamos passando para o próximo índice.
O strncat(destino, origem, n); concatena um número n de caracteres da origem para o destino, sendo o primeiro caractere, aquela a qual aponda a origem (o que originalmente aponta para o indice 1).