Dans le cadre d'un petit projet pour réaliser une horloge graphique avec la SDL. Je touche un peu les fonctions date/heure en C.

J'ai un petit problème pour les secondes 8 et 9... et très honnêtement, je ne vois pas pourquoie que ces secondes là.

voici mon code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
 #include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
 
void afficheSecondes(long secondes)
{
 
    printf("%ld\n", secondes);
}
 
int main (void)
{
    while(1) /* boucle infini pour mon test */
    {
        char heures[3+1],minutes[3+1],secondes[3+1];
        struct tm *tmp;
        time_t temps;
        long h,m,s;
        temps = time(NULL);
        tmp = localtime(&temps);
        strftime(heures, 4, "%H", tmp);
        strftime(minutes, 4, "%M", tmp);
        strftime(secondes, 4, "%S", tmp);
        h = strtol(heures, NULL, 0);
        m = strtol(minutes, NULL, 0);
        s = strtol(secondes, NULL, 0);
        fprintf(stdout,"%ld\n", s);
        afficheSecondes(s);
        /*afficheMinutes(m);*/
        /*afficheHeures(h);*/
    }
 
    return 0;
}
au lieu de 8 et 9 j'ai 0...