[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Pipes, scanf, y manual de C



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!





---Publicidad--------------------------------------------------------
Únete a los miles de sin pareja en Meetic... ¡te vas a enamorar!
http://www.iespana.es/_reloc/email.meetic



Reply to: