Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C]formattare una data avuta da ctime

    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:

    codice:
    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.

  2. #2
    Tutto risolto grazie il suggerimento di un amico che mi ha indicato la funzione strftime

    Se può servire a qualcun altro posto la soluzione:

    codice:
    #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:

    codice:
    char *miadata = malloc(100);
    
    /*e dopo però non dimenticarsi di deallocarla con: */
    free(mia_data);
    RaouL.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.