SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: estudiante_nuevo en Lunes 2 de Agosto de 2004, 20:13

Título: Alguien Sabe Como Transformar ..
Publicado por: estudiante_nuevo en Lunes 2 de Agosto de 2004, 20:13
:huh: hola! tengo un numero tipo entero y necesito tranformarlo a string para poder usar el ''strcat'' . Aguien sabe como hacerrlo ?  gracias
Título: Re: Alguien Sabe Como Transformar ..
Publicado por: Binary en Martes 3 de Agosto de 2004, 01:34
Hay, creo algunas bibliotecas, pero yo prefiero hacerlo por mi cuenta.
La idea es ir sacandole los digitos de atras hacia adelante, y meterlos al string, luego inviertes el string, mira:

char s[MAXD];
int number;

void transform()
{
int p = 0;

if(number == 0) s[0] = 0;
else
while(number > 0) {
s[p++] = number % 10; // le ponemos el ultimo digito en s[p]
number /= 10;  // le sacamos el ultimo digito
}

invertir string; //porque el s[0] contiene el ultimo digito, el s[1] el penultimo y asi..

}


invertir string se puede hacer con strrev(s); ( <string.h> ), eso si, el ultimo char del string debe ser el nulo = '\0'. ---> s[p++] = '\0';

o si quieres, manualmente:


int i, j;
char aux;
i = 0; j = strlen(s); //eso es "p" de arriba
while(i < j) {
aux = s;
s = s[j];
s[j] = aux;
i++; j--;
}

eso seria todo.
saludos. :D
Título: Re: Alguien Sabe Como Transformar ..
Publicado por: Ruben3d en Martes 3 de Agosto de 2004, 14:59
Usa la función itoa. Aqui tienes un ejemplo:
itoa (http://www.cplusplus.com/ref/cstdlib/itoa.html)

Un saludo.

Ruben3d
Título: Re: Alguien Sabe Como Transformar ..
Publicado por: estudiante_nuevo en Miércoles 4 de Agosto de 2004, 01:45
pos muchas gracias a los dos!!