Bonsoir à tous, j'aimerai avoir un petit éclaircissement sur le fonctionnement de mon programme c :
Voici le programme :
Donc après compilation puis lancement (./test), j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdio.h> int i=10; f() {printf("%d\n",i++);} g() {f();fork();f();} int main () { g();g(); }
J'ai envie de dire normal (vu mon programme).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 10 11 12 13 11 12 13 13 13
Maintenant si je fais :
J'obtiens dans mon fichier toto :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ./test > toto
Enfin si je fais
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 10 11 12 13 10 11 12 13 10 11 12 13 10 11 12 13
J'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ./test | wc -l :Ma question est donc, pourquoi une telle différence dans ce qui est affiché dans mon terminal et ce qui se met dans le fichier toto ? Pourquoi mon wc affiche 16 et non 9 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 16.
Autant de questions qui me troublent :s
Partager