Bonjour ,
je souhaite réaliser des temporisation entre deux actions mais ça ne se passe pas comme prévu .
le but . Afficher une chaîne de caractère , temporiser , puis revenir un caractère en arrière , temporiser , puis ajouter un caractère ,puis temporiser avant de quitter
quand je lance le programme il s'écoule un certain temps puis affiche directement la chaîne modifiée .
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 #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <sys/wait.h> #include <sys/types.h> #include <string.h> #include <time.h> int main (void) { printf("abcdefgh"); sleep(2); printf("\b"); sleep(2); printf("a"); sleep(2) ; printf(" \n"); return 0; }
si je remplace sleep par une fonction perso j'ai le même résultat
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
37
38
39
40
41
42
43 #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <sys/wait.h> #include <sys/types.h> #include <string.h> #include <time.h> void temporise(unsigned long temps) { time_t heure_debut; time_t heure_fin; time_t heure_actuelle; heure_debut=time(NULL); heure_fin=heure_debut+temps; while( time(NULL) <= heure_fin ){} } int main (void) { printf("abcdefgh"); temporise(2); printf("\b"); temporise(2); printf("a"); temporise(2); printf("\n"); return 0; }
question : à quoi est ce dû ? y a t il un effet de bord ? Comment inserer des temporisations qui soient respectés
Merci
Partager