Alguien me puede ayudar y decirme porqué no me funciona esto??
Es una función que procesa un buffer enviado por un cliente mediante telnet. La función forma parte de un servidor, y lo que se supone que hace es guardar cada palabra que va encontrando en el buffer en una variable(hasta un máximo de 3 y luego vemos si no hay ninguna orden más).
el caso es que necesito guardar cada palabra para luego en el programa servidor poder comparar cada una con strcmp,...pero, ¿por qué no me las guarda?¿acaso no lo recibo bien?
void procesaBuffer(int fd,char buforden[ORDSIZE],char orden[5],char arg2[41],char arg3[41]){
int i,j,k;
j=0;
k=0;
int nbytes=0;
while(nbytes = recv(fd,buforden,ORDSIZE,0)>0){
buforden[nbytes]='\0';
}
//SI PONGO UN PRINTF("%S",BUFORDEN); AKI, NO ME SALE BUFORDEN EN EL SERVIDOR (ES COMO SI NO LO LEYERA).
for(i=0;buforden
!=' ';i++)
orden=buforden;
orden='\0';
//i=i+1;
for(j=0,i=i+1;buforden!=' ';i++,j++)
arg2[j]=buforden;
arg2[j]='\0';
//i=i+1;
for(k=0,i=i+1;buforden!=' ';i++,k++)
arg3[k]=buforden;
arg3[k]='\0';
i=i+1;
while(buforden!='\0'){
if(i==' ')
i++;
else
printf("Error en los argumentos\n");
}
return;
gracias!