BUENAS TENGO ESTE PROBLEMA Y YA NO SE COMO ENTRARLE.
ME PIDEN CREAR UN ARCHIVO .BIN Y LUEGO EL USUARIO DEBE COLOCAR UNA FECHA PUEDE SER DÍA MES O AÑO Y COMPARAR CON LA INFORMACIÓN DEL ARCHIVO BIN Y CREAR UN ARCHIVO DE TEXTO GUARDANDO LA INFORMACIÓN DE SOLO LOS ARCHIVOS QUE SEAN MAYORES A LA FECHA QUE EL USUARIO COLOCO
PERO EL PROBLEMA ES ESTE :
CREO MI REGISTRO DE FECHA PARA LA STRUC
time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
char e1.fecha[128];
strftime(e1.fecha,128,"%d/%m/20%y",tlocal);
cout<<e1.fecha<<endl; // me muestra la fecha en que se guarda ese registro de esta manera 26/06/2014
ok al momento de ingresar el usuario una dia X ejemplo 23 como hago yo para tomar de e1.fecha solo los dos dígitos que seria (26) para luego ser comparados
para que me quede 26 SOLO y poder comparar
if (23 >26)
{
y esc en el arch de texto
}
el problema es como separo 23 06 y 2014 para luego ser validados
con lo que coloque el usuario
por favor seria una gran ayuda ya que tengo dias tratando y no puedo :huh:
no escribas el titulo y tema en mayusculas es "de mal gusto (http://es.wikipedia.org/wiki/Netiqueta)"...
publica el codigo dentro de etiquetas GeSHi (arriba de los emoticones a la derecha)
lee las reglas
trata de explicarte más exactamente que es lo que necesitas porque realmente no entendí :s
ok a ver si me explico mejor quiero que la variable que tenga la fecha la pueda separar pero no se como :-( eso es lo q necesito
es decir si char fecha[128]= 25/05/2014
quiero saber como separar de esa cadena de caracteres el 25 el 05 y el 2014 eso es lo q quiero
no puedes simplemente en lugar de matarte separando el string usar strftime y sacar solo el dia, el mes o el año por independiente? estás usando "%d/%m/20%y", podrías simplemente usar %d para el dia...
Cita de: practi1 en 27 Junio 2014, 13:38 PM
ok a ver si me explico mejor quiero que la variable que tenga la fecha la pueda separar pero no se como :-( eso es lo q necesito
es decir si char fecha[128]= 25/05/2014
quiero saber como separar de esa cadena de caracteres el 25 el 05 y el 2014 eso es lo q quiero
Una forma sería con sscanf:
Citar
dia = 25 mes = 5 anyo = 2014
Process returned 0 (0x0)
#include<stdio.h>
int main(){
char fecha[128]= "25/05/2014";
int dia, mes ,anyo;
sscanf (fecha,"%d/%d/%d",&dia,&mes,&anyo);
printf (" dia = %d mes = %d anyo = %d\n", dia, mes, anyo );
return 0 ;
}
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
wow gracias eso me sirvio de mucho pero una pregunta tengo q poner siempre "%d/%d/%d" ?? o es %d , %m , %y? esa es la unica duda :o
sscanf no está tomando formato de fecha, toma formato de scan de caracteres... %d significa "dígito", si quisieras tomar un carácter en general, fuera %c de char, y así con los demás tipos
ah ok tonces el %d es tomar los digitos ah muchas gracias ahora si me quedo claro