SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: GTow en Miércoles 20 de Agosto de 2003, 11:30

Título: Re: Conversión de entero a texto en C++
Publicado por: GTow en Miércoles 20 de Agosto de 2003, 11:30
Hola, quiero crear unos nombres (tipo texto), que comiencen por t_ y iran seguidos de un numero contenido en una variable. He intentado lo siguiente:
int num_temp; (ya inicializada antes)
char *sal;
strcpy(sal, "t_");
strcat(sal, num_temp);

Claro que así no puede compilar, pero si cambio la ultima linea por:
strcat(sal, (char*)num_temp)
yo pensaba que hacía una conversión, y de hecho compila, pero da un error en tiempo de ejecución. Parece algo muy sencillo, pero no me funciona.
 Gracias por la ayuda
Título: Re: Conversión de entero a texto en C++
Publicado por: JuanK en Viernes 22 de Agosto de 2003, 15:36
en efecto eso te arroja error porque si conviertes ese entero a cadena de esa forma , realmente estarias convirtiendo al caracter correspondiente..
ejemplo
si el numero es el 65 al pasarlo a cadena es probable que lo asimile como el caracter 65 que es la letra A, si el rango del numero es superior  al del rango ascii muy seguramente te arrojara error en tiempo de ejecucion.

LA funcion para convertir tipos de datos a caracter o cadenas, es  strtol()

long strtol(const char *s, char **endp, int base);

ejemplo:
printf("Enter a number: "); fflush(stdout);
gets(buf);
char *bp;
printf("The value is %dn", strtol(buf, &bp, 0));

Juank:hippi:
Título: Re: Conversión de entero a texto en C++
Publicado por: plaf en Sábado 23 de Agosto de 2003, 04:00
mmmmm nop, al reves, strtol = string-to-long. lo q el quiere es pasar de numero a caracter (en q quedamos con lo de la marihuana?)

para eso puedes usar _ltoa

char *_ltoa( long numero, char *string, int base);

por ejemplo:

char *sal, *num;
_ltoa(num_temp, num, 10);
strcpy(sal, "t_");
strcat(sal, num);

(solo un ejemplo, algo q se me vino a la mente...)

pd: traducete los ejemplos, flojo!
Título: Re: Conversión de entero a texto en C++
Publicado por: JuanK en Sábado 23 de Agosto de 2003, 18:09
ahh si es que lei mal, lo de lkos ejemplos es por que cuando no tengo los mios a la mano, s o sea cuando estoy en la oficina, me copio los de la libc del djgpp.... jjajajaja


Juank:hippi:

Ademas recuerda que yo no meto marihuana, a acambio me la paso o programando o juegando nintendo... eso produce un efecto muy similar.. jajajajaj:sorcerer:
Título: Conversión de entero a texto en C++
Publicado por: GTow en Sábado 23 de Agosto de 2003, 18:43
Me ha funcionado perfectamente lo del _itoa, muchas gracias por la ayuda y el interes a ambos