Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/11/2010, 18:55
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Concatenar valor cadena en una variable

Aun mas facil, usando un sscanf :E

Código c:
Ver original
  1. char *cadena = ">RCC120510AAAAADDDDFFFFGGGG<";
  2. int dia, mes, anio;
  3.  
  4. sscanf(cadena, "%*4s%2i%2i%2i%*s", &dia, &mes, &anio);

Algo asi debe ser, no estoy en inux en este momento asi que no lo puedo comprobar pero te explico rapidamente.

sscanf se utiliza para leer informacion de una cadena (asi como scanf lo hace de la entrada estandar y fscanf de un archivo) en un formato especificado, en este caso le estamos diciendo que lea una cadena de cuatro caracteres y que la descarte (gracias al asterisco), luego leas un entero de dos digitos y lo almacene en dia, asi mismo con mes y anio, y por ultimo que lea una todo lo que queda de la cadena y que lo descarte (al descartar no quiero decir borrar, simplemente no lo toma en cuenta para la asignacion).

Como veras los scanf's son mucho mas utiles de lo que uno podria llegar a pensar (ademas nos hacen el parseo directamente de una cadena a enteros o a cualquie tipo de dato).

Espero haberte ayudado

Saludos++