Bonjour,
Voici un petit problème que je n'arrive pas à comprendre avec le comportement de sleep().
Dans le code suivant, les deux tests affichent un texte, puis endort le programme pendant 2 secondes.
La seule différence est le saut de ligne (\n) dans le printf avant la fonction sleep.
Lors de l'execution du premier test, le texte apparait à l'écran qu'APRES le sleep,
tandis que dans le second test, le texte apparait AVANT le sleep.
Si quelqu'un à une explication dans ce comportement, cela serait le bienvenue
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 #include <stdio.h> #include <unistd.h> int main(void) { // Premier test printf("Ce texte s'affiche APRES le sleep(2)") ; sleep(2) ; // Ici : Le texte s'affiche APRES le sleep printf("\n") ; printf("Fin du test...\n") ; printf("------\n") ; // Second test printf("Ce texte s'affiche AVANT le sleep(2)\n") ; sleep(2) ; // Ici : Le texte s'affiche AVANT le sleep printf("Fin du test...\n") ; return 0 ; }
Merci.
OS : Linux version 2.4.27-2-386
Compilateur : gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
Partager