PDA

Visualizza la versione completa : [C] Formattare una data avuta da ctime


RaouL_BennetH
20-08-2005, 14:17
Salve a tutti,ho questo problema

In un file di testo vado a scrivere un dato + la data e ora in cui questo dato viene memorizzato:



FILE *fp;
char filename[] = "dati.txt";
fp = fopen(filename, "a+");
fprintf(fp, "%s - %s", dato, ctime(t));
fclose(fp);


In questo modo perņ la data mi viene restituita come stringa in questo formato:

Fri Aug 19 15:32:38 2005

mentre a me servirebbe scriverla in quest'altro formato:

19/08/2005 15:32:38.

Come potrei fare?

Thx.

RaouL.

RaouL_BennetH
20-08-2005, 15:50
Tutto risolto grazie il suggerimento di un amico che mi ha indicato la funzione strftime :)

Se puņ servire a qualcun altro posto la soluzione:



#include <stdio.h>
#include <time.h>

FILE *fp;
char filename[] = "file.txt";
char mia_data[60];
struct tm *ptr;
time_t t;
ptr = localtime(&t)
stfrtime(mia_data,100, "%tipo_di_format_voluto",ptr);
fprintf(fp, "%s ; %s\n", dato_di_base, mia_data);
fclose(fp);



Volendo poi si puņ anche usare malloc per allocare al volo lo spazio necessario per mia_data:



char *miadata = malloc(100);

/*e dopo perņ non dimenticarsi di deallocarla con: */
free(mia_data);


RaouL.

Loading