Ver Mensaje Individual
  #11 (permalink)  
Antiguo 10/05/2013, 05:15
only_skating
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Pasar de cadena de caracteres a INT

Hola, gracias a todos por sus respuestas, he probado las opciones que entendí, la única que me permitió avanzar fue la de vosk. Los unos los interpreta como 49s, entonces hice la resta para que quedase 1, el problema es que, al hacer la operacion, no debe interpretarlo bien. Si la tarjeta sanitaria es 1111. Recoje las Ns correctamente, pero al entrar en el for, en el caso anterior el resultado da 9 y el siguiente 8 :S. Aquí el código hasta ahora:

Código C:
Ver original
  1. void iniciosesion(int *id, char tsanitaria[],int longitudtsanitaria){
  2.  
  3.     int i=0, fid=0,n;
  4.     for(i=0;i<longitudtsanitaria;i++){
  5.         n=(int)tsanitaria[i] - 48; // también probé a restarle '0'
  6.         fid+=((n)*10)^(longitudtsanitaria-(i+1));
  7. }
  8.     *id=fid;
  9. }
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma