C -> números e data automáticos

X3minater

Power Member
Boas
- Alguém sabe como se faz para atribuir um número (ex:ID) automatico e sequencial (1,2,...n)? E se eu o guardar num ficheiro, como é que eu faço para depois recomeçar a partir daí???

- E a data? Como é que se faz para por a data actual num ficheiro? Tenho de usar o <time.h> e mais o que?
 
Boas
- Alguém sabe como se faz para atribuir um número (ex:ID) automatico e sequencial (1,2,...n)? E se eu o guardar num ficheiro, como é que eu faço para depois recomeçar a partir daí???

- E a data? Como é que se faz para por a data actual num ficheiro? Tenho de usar o <time.h> e mais o que?

1 - Ciclo for? A 2ª parte não percebi.
2 - Existe uma macro pré-definida __DATE__ que te dá uma string no formato "MMM DD YYYY". Não sei se é isto...
 
A forma mais straight-forward é teres uma função com um static int.
Por ex.

Código:
int getNext() {
  static int next = 0;
  return next++;
}

O valor é inicializado quando a função é chamada pela primeira vez, e mantido ao longo da execução do programa.
Onde tens o zero, podes ter um valor que lês dum outro lado qualquer.

Cumprimentos.
 
1 - Ciclo for? A 2ª parte não percebi
Sim, tinha pensado no for também, mas imagina que guardavas essa sequencia no ficheiro (até ao 5 por exemplo) e depois saias do programa... depois entravas outra vez no programa e como é que recomeçavas a sequencia a partir do 5???


2 - Existe uma macro pré-definida __DATE__ que te dá uma string no formato "MMM DD YYYY". Não sei se é isto...
Até deve ser...mas como é que uso isso?
 
Crias uma variavel global com esse numero.
Ou seja na função intnextgen() crias a sequência mas guardas na variavel global.
Quando voltares a ler o ficheiro ele carrega essa variavel global e volta a chamar a intnextgen().
Quanto à data penso que se é uma macro apenas terás de chamar a biblioteca dela ou fazer um define?
Ideias?
 
Crias uma variavel global com esse numero.
Ou seja na função intnextgen() crias a sequência mas guardas na variavel global.
Quando voltares a ler o ficheiro ele carrega essa variavel global e volta a chamar a intnextgen().
Quanto à data penso que se é uma macro apenas terás de chamar a biblioteca dela ou fazer um define?
Ideias?

E como é que eu faço isso sem usar variáveis globais?:D (não posso usar)

EDIT:
Baderous disse:
A macro já está pré-definida.

printf("Data: %s",__DATE__);


Dá-te a data actual.
Thanks! ;)
 
Última edição:
Back
Topo