› Foros › PC › Software libre
int value;
char buffer [33];
.........
sprintf(buffer,"%d",value);
// Ahora se copia el entero contenido en buffer al string donde lo queremos o en ciertos casos se puede usar directamente
........
int n=5;
int i,temp,digito;
int longitud=2
char cad[longitud];
.............
temp=n;
i=longitud-1
for(; -1<i ; i--){ \\ "-1<i" es lo mismo que "0<=i"
digito= 48 + temp%10;
cad[i][i] [i]= (char) digito;
temp=temp/10;[i]
}
................
funcion(...,cad,...);
...............
int n = 5;
char c;
c = (char)n;
temp=n; // Guardamos el valor a convertir en un variable local
i=longitud-1; // se almacnea la longitud del vector-1, es decir el valor del ultimo elemento
for(; -1<i ; i--){ \\ "-1<i" es lo mismo que "0<=i" , este bucle recorre el vector desde atras
digito= 48 + temp%10; //calculamos el valos ascii del digito de mas a la derecha que es el resto de dividir n/10 y sumarle 48 que es la posicion de 0 en ascii
cad[i] = (char) digito; se hace un cast de el valor de digito a char
temp=temp/10;// se divide entre 10 para poder al repetir el bucle obtener el siguienbte digito
}
//conversion entero 32bits a cadena de caracteres
//tamaño de cadena ideal 12, se repartes en 10 para
//el numero, 1 para el signo y otro para el terminador
int int32tochar(char * cadena, int numero){
int indice,negativo,temp;
if (numero==0) {
cadena[0]='0';
cadena[1]='\0';
}
else {
// codigo para tratar numeros negativos e inicializar valores
if (numero<0){
numero=0-numero;
cadena[0]='-';
negativo=1;
indice=2;
}
else{
negativo=0;
indice=1;
}
//contamos numeros de digitos decimales
temp=numero;
while(temp=temp/10) indice++;
//se convierte el vector
cadena[indice]='\0';
while(numero>0) {
indice--;//se decrementa el indice para que apunte al digito deseado en el vector
cadena[indice]= (char)(48+numero%10); //se optione el valor ascii del numero;
numero=numero/10;
}
}
return 1;
}
char *conversion(int num,int tamano){
int indice;
indice=ncifras(num);
char cad[indice];
cad[indice]='\0';
while(indice>=0){
indice--;
cad[indice]= (char)(48+num%10);
num=num/10;
}
return &cad[indice+1];
}
int ncifras(int num){
int indice=1;
while(num>10){
num=num/10;
indice++;
}
return indice;
}
void grafica(const Triangulo &tri){
int fila=1,columna=1,aux=0,x1=8,y1=8,y2=16,aux_y1=8,longitud,tam,var=0,col=1,n;
bool band=true;
char *cadena;
CrearVentana(500,500,"Triangulo de Pascal");
while(fila<=NumeroFilas(tri)){
tam=NumeroFilas(tri)-NumeroColumnas(tri,fila);
RectanguloR(x1,y1,tam*8+x1,y2,0,0,0);
longitud=tam*8+x1;
while(columna<=(NumeroColumnas(tri,fila)+aux)){
if(band==true){
var=ncifras(GetElemento(tri,fila,col));
cadena=conversion(GetElemento(tri,fila,col),var);
cout<<"cadena:"<<*cadena<Texto(longitud,y1,cadena,0,255,0);
col++;
longitud=longitud+(8*var);
columna++;
band=false;
}
else{
RectanguloR(longitud,y1,longitud+8,y2,0,0,0);
longitud=longitud+8;
band=true;
columna++;
}
}
col=1;
fila++;
y1=y2;
y2=y2+8;
band=true;
columna=1;
aux++;
}
ObtenerTecla();
}
int n=9;
char b;
b=n+'0';
char b='9';
char *c="9";
char *conversion(int num,int tamano){
int indice;
indice=ncifras(num);
char cad[indice];
cad[indice]='\0';
while(indice>=0){
indice--;
cad[indice]= (char)(48+num%10);
num=num/10;
}
return &cad[indice+1];
}
char * conversion(int num){
int indice;
indice=ncifras(num);
static char cad[11]; //para podere devolver cad debe de ser estatica, usr malloc, ser strinc++ o deben de pasartela
cad[indice]='\0';
while(indice>0){ //aqui tenias otro error
indice--;
cad[indice]= (char)(48+num%10);
num=num/10;
}
return cad; //tenias otro error
}