Urgente: entero a cadena ¿??¿
Ayuda ! a ver, soy novato y quiero convertir en C un entero a cadena de caracteres con signo delante (SIN usar itoa)... esto que he hecho lo hace pero guarda la cadena al reves !! (p.ej si meto 321, la cadena es "+123")
int entero2cadena(int n , char *s){
int mod,i=1;
if(n<0){
s[0]='-';
n=-n;
}
else{
s[0]='+';
}
while(n != 0){
mod=n%10;
n=n/10;
s[i]=(char)(mod+48);
i++;
}
s[i]=' ';
return 1;
}
Como hago para q la cadena se guarde al derecho¿?¿¿? Ideas, soluciones, rápido por favor !!!
int entero2cadena(int n , char *s){
int mod,i=1;
if(n<0){
s[0]='-';
n=-n;
}
else{
s[0]='+';
}
while(n != 0){
mod=n%10;
n=n/10;
s[i]=(char)(mod+48);
i++;
}
s[i]=' ';
return 1;
}
Como hago para q la cadena se guarde al derecho¿?¿¿? Ideas, soluciones, rápido por favor !!!
Mira ver si te vale la función sprintf:
int sprintf(char *str,const char *format,...);
Lo que hace es copiar en un string con el formato dado.
En tu caso: sprintf(s,"%d",n);
Si quieres poner el signo se me ocurre que podÃas reservar espacio para otra cadena de longitud uno más que s, poner el signo y copiar s.
Espero que te valga para algo.
int sprintf(char *str,const char *format,...);
Lo que hace es copiar en un string con el formato dado.
En tu caso: sprintf(s,"%d",n);
Si quieres poner el signo se me ocurre que podÃas reservar espacio para otra cadena de longitud uno más que s, poner el signo y copiar s.
Espero que te valga para algo.
