elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema para pasar una lista a fichero con Fwrite
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problema para pasar una lista a fichero con Fwrite  (Leído 7,926 veces)
samur88

Desconectado Desconectado

Mensajes: 125


Ver Perfil
Re: Problema para pasar una lista a fichero con Fwrite
« Respuesta #10 en: 19 Febrero 2011, 18:55 pm »

Fbin he estado haciendo pruebas con el codigo que me pusiste, pero he notado algunos fallos, supuestamente el fichero es independiente de la estructura, pero el caso es que si borro la estructura y luego leo el fichero me da lo que supuestamente tendría que ser dni, etc.. posiciones de memoría extrañas, no debería a ver problema si borrara la lista y luego leyese la estructura ¿no?, también he probado leyendo el archivo desde un programa externo y me da el mismo error, me lee y me da muchos números, adjunto el programa desde el cual he leido el fichero:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct _nodo {
  5.  int dni;
  6.  int fecha;
  7.  struct _nodo *siguiente;
  8. } tipoNodo;
  9.  
  10. void leer_fic(){
  11.     FILE *fp;
  12.     tipoNodo *aux;
  13.     int a = 0;
  14.  
  15.     fp = fopen("pacientes.txt","r+b");
  16.  
  17.     while(!feof(fp)){
  18.      a = fread(&aux,sizeof(tipoNodo),1,fp);
  19.      if(a != 0){
  20.           puts("LECTURA!");
  21.           printf("DNI:%d\n",aux->dni);
  22.           printf("FECHA:%d\n",aux->fecha);
  23.           printf("%d\n",a);
  24.           puts("FIN DE LECTURA\n");
  25.      }
  26.     }
  27.     fclose (fp);
  28. }
  29.  
  30. int main(){
  31. leer_fic();
  32. return 0;  
  33. }
  34.  

Un saludo.


En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: Problema para pasar una lista a fichero con Fwrite
« Respuesta #11 en: 20 Febrero 2011, 03:19 am »

Creo que debes asignarle memoria a aux en tu funcion...

Saludos...


En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



samur88

Desconectado Desconectado

Mensajes: 125


Ver Perfil
Re: Problema para pasar una lista a fichero con Fwrite
« Respuesta #12 en: 21 Febrero 2011, 01:06 am »

Muchas gracias, al final me di cuenta de que la función fwrite y fread no reciben un puntero a una estructura si no una estructura en si, de esta forma los datos se almacenan en dicha estructura, ese era mi problema, usando un estructura auxiliar para leer los datos con fread lo he conseguido sin problemas.
Un saludo.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasar fichero avi a cvcd
Multimedia
mgonzalo 3 2,114 Último mensaje 2 Febrero 2006, 19:06 pm
por Songoku
Cargar Lista de un fichero con fseek a una lista auxiliar en el programa.
Programación C/C++
samur88 1 3,122 Último mensaje 12 Mayo 2011, 23:25 pm
por samur88
Problema Fwrite
Programación C/C++
kristian_5 2 2,463 Último mensaje 12 Junio 2013, 11:08 am
por aguml
Pasar fichero a una función
Programación C/C++
RGT 1 1,355 Último mensaje 4 Noviembre 2015, 04:33 am
por user-marcos
ayuda con uso de fwrite actualizar fichero en c
Programación C/C++
adriana13 2 1,527 Último mensaje 19 Octubre 2018, 21:36 pm
por adriana13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines