Le problème ne vient pas vraiment la sortie standard : elle est bien "flushée" (on dit quoi en français ? vidée ?) après chaque retour chariot inséré par echo. C'est en revanche l'entrée standard du processus fils (celui créé par popen) qui ne l'est pas.
Pour être encore plus constructif, donnons la solution à ce petit problème : il faut utiliser la fonction setvbuf ; en l'occurence il faut placer après le popen (et avant le fread) un setvbuf(tmp, _IONBF, 0).
[^] # Re: Raaahhh
Posté par mnemosyne . En réponse au journal petit problème avec popen(). Évalué à 3.
Le problème ne vient pas vraiment la sortie standard : elle est bien "flushée" (on dit quoi en français ? vidée ?) après chaque retour chariot inséré par echo. C'est en revanche l'entrée standard du processus fils (celui créé par popen) qui ne l'est pas.
Pour être encore plus constructif, donnons la solution à ce petit problème : il faut utiliser la fonction setvbuf ; en l'occurence il faut placer après le popen (et avant le fread) un setvbuf(tmp, _IONBF, 0).