Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Guardar hora y fecha en un archivo

Estas en el tema de Guardar hora y fecha en un archivo en el foro de C/C++ en Foros del Web. Hola soy nueva en el foro. tengo un problema, quisiera guardar en un archivo la fecha y la hora desde una estructura, que cada vez ...
  #1 (permalink)  
Antiguo 23/08/2014, 10:03
Avatar de aya199874  
Fecha de Ingreso: agosto-2014
Mensajes: 6
Antigüedad: 9 años, 8 meses
Puntos: 0
Información Guardar hora y fecha en un archivo

Hola soy nueva en el foro.
tengo un problema, quisiera guardar en un archivo la fecha y la hora desde una estructura, que cada vez que ejecute el programa se me vallan guardando las fechas y horas en la q se ejecuto el programa. por ejemplo:

Cita:
Fecha

22/08/2014 03:02:23
23/08/2014 05:06:54
28/08/2014 22:01:09
asi que se valla guardando en un archivo de texto sin que se actualize la hora y fecha anterior
este es codigo que tengo hasta ahora, obviamente tengo errores a monton por eso pido ayuda, porfavor.

Cita:
#include<conio.h>
#include <stdio.h>
#include <time.h>
struct fecha {
char *registro;
};
void nada(FILE *rp);
void algo(FILE *rp);
int main(int argc,char* argv[]) {
FILE *fp = fopen ("data.txt", "w+");
nada(fp);
return 0;
}

void algo(FILE *rp){
struct fecha hora = {""};

time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
char output[128];
strftime(output,128,"%d/%b/%y %H : %M : %S",tlocal);
hora.registro = output;
fread(&hora, sizeof(struct fecha),1, rp);
fseek(rp, (hora.registro - "") *sizeof(struct fecha), SEEK_SET);

fwrite(&hora, sizeof(fecha), 1, rp);

}
void nada(FILE *rp){
FILE *writePtr; //puntero al archivo accounts.txt

/*crear clientData con información predeterminada*/
struct fecha hora = {""};

/*fopen abre el archivo; sale si el archivo no se puede abrir*/
if((writePtr = fopen("fecha.txt", "w")) == NULL){
printf("file could not be opened.\n");
}//end if
else{
rewind(rp); //establece puntero al principio del archivo
fprintf(writePtr, "%-6s \n",
"Fecha");
/*copiar todos los registros de archivo de acceso aleatorio en un archivo de texto*/
while (!feof(rp)){
fread(&hora, sizeof(struct fecha),1, rp);
/*escribir el registro sencillo del archivo de acceso aleatorio en un archivo de texto*/
// if(client.acctNum !=0){
fprintf(writePtr, "%-6d% \n",
hora.registro);
// }//end if
}//end while
fclose(writePtr);
}//end else
}
de antemano agradesco toda ayuda.
  #2 (permalink)  
Antiguo 24/08/2014, 11:40
Avatar de Drewermerc  
Fecha de Ingreso: febrero-2014
Mensajes: 185
Antigüedad: 10 años, 2 meses
Puntos: 5
Respuesta: Guardar hora y fecha en un archivo

Hola amigo.
Bueno pues creo que lo que quieres hacer es algo como esto.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define NOM_FILE "date.txt"
  5. int main()
  6. {
  7. FILE    *file;
  8. time_t  tiempo;
  9. struct  tm  *timelocal;
  10. char    out_time[128],  d[25];
  11.  
  12. tiempo = time(0);
  13. timelocal = localtime(&tiempo);
  14. strftime(out_time, sizeof(out_time), "%d/%m/%y  %H:%M:%S", timelocal);
  15.  
  16. if ( ((file = fopen(NOM_FILE, "a")) == NULL) || ((file = fopen(NOM_FILE, "r")) == NULL))
  17.     file = fopen(NOM_FILE, "w");
  18.  
  19. if ( (file = fopen(NOM_FILE, "a")) == NULL)
  20. {
  21.     perror(NOM_FILE);
  22.     return EXIT_FAILURE;
  23. }
  24.  
  25. fprintf(file, "%s\n", out_time);
  26. fclose(file);
  27.  
  28. if ( (file = fopen(NOM_FILE, "r")) == NULL)
  29. {
  30.     perror(NOM_FILE);
  31.     return EXIT_FAILURE;
  32. }
  33. printf("las fechas del archivo son:\n");
  34. while (fgets(d, (int) sizeof d, file) != NULL)
  35.     printf("%s",d);
  36.  
  37. fclose(file);
  38. return(0);
  39. }

y bueno para la explicación de las funciones, estructura y tipo de datos para obtener la fechar aquí te dejo la información.
http://c.conclase.net/librerias/?ansifun=strftime

Bueno espero que te sirva.
Saludos.
Drewermerc.

Etiquetas: ejemplo, fecha, int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.