/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

tokens y char*

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
thorondrol



Registrado: 04 Nov 2007
Mensajes: 1

MensajePublicado: 04/11/2007 1:00 pm
Título: tokens y char*

hola, he estado haciendo un proyecto escolar y me encuentro en un problema, despues de recibir un char* de un cliente mi servidor lo parte en diferentes campos para poder almacenarlo en una lista ligada, mi problema consiste en que trato de convertir los datos a int y a char[].

Las conversiones a enteros si funcionan, pero al convertir a char la impresion de la variable me da puros numeros, lo he intentado con strcat(); y con strcpy(); pero ninguna resulta, alguna sugerencia?, el codigo (no lo tengo a la mano pero esta es la logica) va algo asi:

char f[3], mensaje[MAXLINE];
int i;

recibirDatos(sfd, mensaje, strlen(mensaje)); //en esta parte almaceno el la cadena recibida de un cliente que quiero partir, algo asi como "1_beto_mexico_4_350"

//ahora bien, aplico el strtok(); usando a"_"como divisor y obtengo

1
beto
mexico
4
350

//la conversion que uso para los enteros es algo asi: i=atoi(ptr);
//donde ptr es el lugar que ocupa el token en un tiempo dentro de un while

/////PROBLEMA= strcpy(f,ptr); o strcat(f,ptr); me devuelven puros numeros en f, cuando quiero la cadena de caracteres

Como puedo pasar el valor a una variable char?


agradesco su ayuda y me disculpo por la mala exposicion del codigo, pero ando algo corto de tiempo, gracias

*Edit....olvide mencionar, todo esto es sobre linux, agradeceria informacion que funcionara correctamente ahi porfa

EDIT 2...Puras maldiciones voy a soltar, ya cheque el codigo y el maldito error, no fueron los tokens ni strcpy ni el strcat, fui yo, mande imprimir enteros en lugar de char, mis disculpas por haberlos hecho leer esto y haber malgastado los preciados bits de este server
Volver arriba
mamntc02



Registrado: 30 Abr 2007
Mensajes: 282

MensajePublicado: 05/11/2007 4:08 am
Título:

Hola,

No acabo de entender exactamente cual es tu duda. Pero si el problema es como pasar un entero a string (char pointer) puedes hacer:
Código:
int valor;
char valorChar[80]={0};
sprintf(valorChar, "%d", valor);
Si valor es, por ejemplo, 150, en valorChar tendrás: {'1', '5', '0', 0,...., 0}

Saludos
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com