[UNIX][C] Getdate

beldyn Messages postés 189 Statut Membre -  
beldyn Messages postés 189 Statut Membre -
Bonjour à tous,
Je rencontre quelques problèmes pour récupérer la date actuelle sous UNIX, avec un programme écrit en C. la fonction getdate me retourne systématiquement un ponteur nul.

printf("%s", getdate((char*)"%A%02d%B%Y");

J'essaie de suivre le "man" mais il est en anglais et probablement que je n'ai pas tout saisi.

Quelqu'un aurait une idée du problème s'il vous plait?
Merci

Beldyn

1 réponse

  1. omar
     
    Comme d ahb j y connais pas grand chose en UNIX mais VIVE GOOGLE!

    ce bout de code devrait t aider:
     struct date d;
       struct time t;
    
    
       if ((ficlog = fopen(FICLOG, "a+")) == NULL)
       {
         printf("erreur : impossible de creer le fichier %s\n\n",FICLOG);
         return 0;
       }
    
       getdate(&d);
       gettime(&t);
    
       fprintf(ficlog,"*******************************************\n");
       fprintf(ficlog,"**                                       **\n");
       fprintf(ficlog,"**       CHARGEMENT DE LA STATION        **\n");
       fprintf(ficlog,"**                                       **\n");
       fprintf(ficlog,"**              %s                     **\n",STATION);
       fprintf(ficlog,"**                                       **\n");
       fprintf(ficlog,"**            le %d/%d/%d               **\n",d.da_day,d.da_mon,d.da_year);
       fprintf(ficlog,"**            a %2dh %02dmin                **\n",t.ti_hour, t.ti_min);
       fprintf(ficlog,"**                                       **\n");
       fprintf(ficlog,"**                                       **\n");
       fprintf(ficlog,"*******************************************\n\n");
    
    0
    1. beldyn Messages postés 189 Statut Membre 19
       
      Merci pour ta réponse, mais celà ne fonctionne pas. Problèmes de structure date.
      Par contre, j'ai trouvé ça:

      struct tm DateE;
      time_t timet;
      time(&timet);
      DateE= localtime(&timet);

      printf("Le %02d/%02d/20%02d\n",DateE->tm_mday,DateE->tm_mon,DateE->tm_year);

      Encore merci et à plus
      Beldyn
      0