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
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..
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;
}
muchas gracias me sirvio de mucho
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.