Hola a todos,
tengo un programa en C que hace lo siguiente:
//cliente
char str[256];
scanf("%s", str);
write (envio, &str, strlen(str));
donde "envio" es el canal que apunta a una pipe.
por otro lado, otro proceso lee de la pipe:
//servidor
read(recept, &str, strlen(str));
donde "recept" es el canal que apunta a la pipe.
Pues bien, parece ser que si en cliente le introduces por ejemplo ls -l -a,
el servidor lee de la pipe solamente ls !!!
Osea que parece ser que dicho comando el scanf lo guarde en lugar de "ls -l
-a\0", como "ls\0 -l\0 -a\0" !!!! o es el scanf que me extraña muchísimo por
que no sabría por qué hace eso, o es el write, que tampoco veo por que, o es
la lectura de la pipe en el read.
No me equivoco si afirmo que scanf guardaría una frase como "El perro de san
Roque\0" verdad?
De paso, hay alguna pagina oficial de C? alguna como el manual de Java que
tienen en la de sun.
Gracias!