logo       

stdout |pipe| stdin: msg#00522

org.user-group.linux.france.nantes

Subject: stdout |pipe| stdin

Bonsoir,

Je pensais que lorsque l'on écrit vers stdout en C, la sortie était récupérée
de manière standard après un pipe, mais il semblerait qu'il y ai quelques
subtilités.

Avec mon petit programme ceci ne marche pas :
$ ./send_to_stdout | display

Pourtant la commande qui réceptionne est pleinnement capable de réceptionner
ainsi :
$ cat image.png | display

Avec mon programme je doit lui indiquer explicitement qu'il doit récupérer
stdin comme ceci pour que ça marche :
$ ./send_to_stdout | display -


(*) J'utilise putc() pour envoyer les datas vers stdout comme ceci :

unsigned char *datas;
/* [...] */

unsigned long i;
for (i=0; i < datas_length; i++) {
(void) putc(datas[i], stdout);
}
fflush(stdout);

Que devrais-je changer pour que le pipe fonctionne comme avec cat ?


Autre question proche de la première, y a-t-il également de telles subtilités
auxquelles il faut être attentif lorsque l'on envoie des datas brutes à
partir d'un cgi ?


--
Merci d'avance et joyeuses fêtes de fin d'année à tous !




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise