pasar int to char y Viceversa

Iniciado por rembolso, 29 Enero 2011, 17:11 PM

0 Miembros y 1 Visitante están viendo este tema.

rembolso

hola. tengo un problema de variables en qt4. quiro que un numero de una cadena de numeros remplaze la letra correspondien al numero ej:

numero 1667 , cadena "abcdefgh"

numero 1 = a
numero 6= f
numero 6= f
numero 7= g
                                       y queda formada la palabra affg
ak les pongo el codigo q tnego yo pero tengo problemas de pasaje de variables como se puede sucionar

Código (cpp) [Seleccionar]
     QString str = ui->texto1->text();
       int n = str.size(),i,a;
a++;

    for (i=0; i<a; i++)
    {                               // problema de pasar a to char y char to int
      ui->texto->setText(mid(str.toAscii(),mid(a,i,1),1));
    }


alguna sugerencia..

The Swash

#1
Hola amigo buen día, analice tu problema, y creo que alguna vez me tope con algo así, el hecho de esto es que hay sacar el número de números que compongan a la cifra, para esto usamos el operador mod y reducimos el archivo en su ultima cifra hasta llegar al último, te hice un ejemplo sencillo en una función espero te sea de útilidad, cualquier duda avisanos. Saludos

#include <stdio.h>

char * Cadena(int number, char * cadena);

int main(void)
{
   printf("%s ", Cadena(1667,"abcdefgh")); //return "affg"
   getchar();
}

char * Cadena(int number, char * cadena)
{
    int i = 0;
    int tNum = 0;
    int ilen = 0;
    int altNum = number;
    int * n = NULL;
    char * cadenareturn;
    while (number > 0)
    {
          tNum = number % 10;
          number = number / 10;
          ilen++;
    }
    n = (int *) malloc (sizeof(int) * ilen);
    for (i = (ilen - 1); i >= 0; i--)
    {
        n[i] = altNum % 10;
        altNum /= 10;
    }
    cadenareturn = (char *) malloc(ilen);
    memset(cadenareturn, 0, ilen + 1);
    for (i = 0; i < ilen; i++)
    {
        cadenareturn[i] = cadena[n[i]-1];
    }
     free(n);
    return cadenareturn;
}

rembolso

muchas gracias me sirvio de mucho

The Swash

Espero que más de que te sirva la función, la analices y aprendas de ella, seguramente así será más de utilidad.

Saludos y me alegra que te aya servido pero toma en cuenta lo que te dije.