On Tue, Dec 23, 2003 at 11:47:52AM +0100, Alberto wrote: > Hola a todos, > > tengo un programa en C que hace lo siguiente: > > //cliente > char str[256]; > scanf("%s", str); /* el segundo argumento debe ser un puntero */ 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. man <funcion> en Linux/Bsd te va a dar la página de manual de las funciones de librería standard de C. Comprate o conseguite el pdf de "The C programing Language" de Kernighan y Ritchie. Sds > > Gracias! > > > > > > ---Publicidad-------------------------------------------------------- > Únete a los miles de sin pareja en Meetic... ¡te vas a enamorar! > http://www.iespana.es/_reloc/email.meetic > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > -- Fernando M. Maresca Cel: (54) 221 15 502 3938 Cel: 0221-15-502-3938