Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/06/2012, 14:24
Javieer-G
 
Fecha de Ingreso: diciembre-2008
Mensajes: 50
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema con la longitud de la cadena

Bueno, he hecho avances, pero sigo necesitando ayuda.

Para comerme los espacios en blanco he usado:

Código C:
Ver original
  1. char *tmp;
  2. char texto[] = "hola foros del web";
  3.  
  4. while((tmp=strchr(texto,' '))!=NULL)
  5.     strcpy(tmp,tmp+1);

El caso es que ahora me ha surgido otro problema, y llevo luchando con el al menos dos horas. Estoy intentando convertir un carácter a un número. He diseñado la siguiente función:

Código C:
Ver original
  1. int *tonumber(char *cadena)
  2. {
  3.   char letras[] = "ABCDFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  4.   int numeros[100], cadenafinal[100], i, j;
  5.  
  6.   for(i=0; i<25;i++) numeros[i] = i;
  7.   for(i=25; i<50;i++) numeros[i] = (i-25);
  8.  
  9.   for(i=0; i<strlen(cadena); i++){
  10.      for(j=0; j<strlen(letras); j++){
  11.          if(cadena[i] == letras[j]) cadenafinal[i] = numeros[j];}}
  12.  
  13.   return *cadenafinal;
  14.  
  15. }

El problema es que posteriormente, en el uso no salen resultados. No sé si es por que estoy usando mal los punteros (al retornar un int *) o si se me escapa cualquier otra cosa.

Código C:
Ver original
  1. main()
  2. {
  3. int q[100];
  4. char *clave = "cadenadecaracteres"
  5.  
  6. q = tonumber(clave); // Convierto cada caracter a número
  7.  
  8. while(q[i] != '\0'){printf("-%d-", q[i]); i++;} // Imprimo los caracteres convertidos a números
  9. }

Agradecería verdaderamente ayuda cuanto antes. Llevo más de la mitad del programa diseñado. Diseñé un buen algoritmo de encriptación y más o menos no va mal, el problema es este.