Cuando buscaba como parsear una cadena en C encontre el strtok pero
mucha gente no lo recomendaba porque segun ellos modificaba la cadena
deseada.
Con respecto a tu pregunta, no se como lo tendrás implementado vos, yo
seguí el ejemplo que dio Nicolas en clase y le agregue un buffer mas
donde concatenaba los datos que me iban llegando
Cada vez que lees del socket lo guardas en un buffer que es temporal?
Si es asi asegúrate de tener otro contenedor donde poner lo que te va
llegando, podes hacer strcat o yo prefiero hacer sprintf(x,"%s%s",x,y)
que en un lenguaje "mejor" seria hacer x= x+y con strings.
Espero haberte ayudado
On 5 dic, 14:30, Edgardo nicolas Moretti <
mone...@gmail.com> wrote:
> El primer Peticion es el buffer donde llega todo lo q manda el cliente
>
> GET arico.tid v1.0\nuser\pass\n\n
>
> ya que estamos una pregunta: cuando recivo caracter por caracter lo que
> manda el cliente lo puedo ver sin problemas
> mientras lo estoy reciviendo pero al terminar el loop, el buffer donde fui
> guardando los caracteres esta vacio.
> ¿Le paso a alguien?
>
> El 5 de diciembre de 2009 14:19, Edgardo nicolas Moretti
> <
mone...@gmail.com>escribió:
>
>
>
> > bien ahi..!!
>
> > yo lo estaba haciendo asi:
>
> > printf("%s", bufferdatos);
>
> > Peticion = strtok( bufferdatos, "\n" );
> > printf("Peticion:%s\n",Peticion);
>
> > if((user1 = strtok( NULL, delimit2 ))==NULL)printf("es NUULL VIEJA\n");
> > printf("user:%s\n",user1);
>
> > pass1= strtok( NULL, delimit2 );
> > printf("pass:%s\n",pass1);
>
> > Peticion = strtok( Peticion, delimit1);
> > printf("Peticion:%s\n",Peticion);
>
> > //archivo1 = strtok( Peticion, delimit1 );//se come una posicion no
> > deseada
>
> > archivo1 = strtok( NULL, delimit1 );
> > printf("archivo:%s\n",archivo1);
>
> > version = strtok( NULL, delimit2 );
> > printf("version:%s\n",version);
>
> > es lo mismo pero en mas lineas..
>
> > saludos.
>