Qui a déjà utilisé la fonction mktime en C sous MS-DOS ?

Qui a déjà utilisé la fonction mktime en C sous MS-DOS ? - C++ - Programmation

Marsh Posté le 15-04-2002 à 14:06:28    

Salut les gens !  
 
  Pour un projet de fin d'année en C, je dois créer un petit calandrier sous DOS... J'ai trouvé un fonction qui me permet en entrant une date de déterminer le jour qui correspond à cette date... Mais le problème c'est que ça ne marche pas et même avec l'exemple de Borland Turbo C/C++...  
 
  Si quelqu'un a déjà eut ce problème.... Merci d'avence...

Reply

Marsh Posté le 15-04-2002 à 14:06:28   

Reply

Marsh Posté le 15-04-2002 à 14:28:44    

Ca ne "marche" pas comment ?  
Y a un décalage ? Si oui, l'an 2000 a peut-être un effet (? appel au chip horloge/calendrier du PC). Avec une date en 1999, c'est bon ? Sinon, l'exemple serait faux....
 
Si j'y pense, je vérifie l'exemple ce soir sur mon PC "pur DOS".

Reply

Marsh Posté le 15-04-2002 à 16:09:43    

CARBON_14 a écrit a écrit :

Ca ne "marche" pas comment ?  
Y a un décalage ? Si oui, l'an 2000 a peut-être un effet (? appel au chip horloge/calendrier du PC). Avec une date en 1999, c'est bon ? Sinon, l'exemple serait faux....
 
Si j'y pense, je vérifie l'exemple ce soir sur mon PC "pur DOS".  




 
  En passant à ma fonction des dates antérieur à l'an 2000 elle marche, mais parcontre, après 2000 elle me mets n'importe quoi !!!

Reply

Marsh Posté le 16-04-2002 à 09:17:06    

Hier soir, j'ai essayé sous DOS sur mon vieux DX4/100.
L'exemple Borland m'a donné Monday pour le Year 2002, month 4, day 15.
 
C'est bien  
#include <stdio.h>
#include <time.h>
 
 char *wday[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
  "Thursday", "Friday", "Saturday", "Unknown"};
 
int main(void)
{
    struct tm time_check;
    int year, month, day;
 
/*  Input a year, month and day to find the weekday for */
    printf("Year:  " );
    scanf("%d", &year);
    printf("Month: " );
    scanf("%d", &month);
    printf("Day:   " );
    scanf("%d", &day);
 
/*  load the time_check structure with the data */
 
    time_check.tm_year = year - 1900;
    time_check.tm_mon  = month - 1;
    time_check.tm_mday = day;
    time_check.tm_hour = 0;
    time_check.tm_min  = 0;
    time_check.tm_sec  = 1;
    time_check.tm_isdst = -1;
 
/*  call mktime to fill in the weekday field of the structure */
    if (mktime(&time_check) == -1)
       time_check.tm_wday = 7;
 
/*  print out the day of the week */
    printf("That day is a %s\n", wday[time_check.tm_wday]);
    return 0;
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed