No Puedo Sacar un Puntero por Referencia Necesito Cargar un Puntero leyendo de un Archivo en una Funcion, dentro de la Funcion se Carga bien, pero cuando sale afuera sale cargado de basura. ¿Como puedo hacer para que el contenido de la estructura apuntada por el puntero llegue al programa principal? Muchas Gracias. Daniel.
#include <stdio.h>
//Estructura MAIN NODE
typedef struct Smnode
{
char NAME[40];
char ADDRESS[50];
double CASH;
struct Smnode *NEXT;
} mnode,*ptrmn;
//Funcion READ FROM FILE
int RfF (FILE *f,ptrmn *NODE)
{
ptrmn Nmnode;
mnode MN;
if ((f=fopen("INFO.dat","rb"))==NULL)
{
puts ("ERROR AL ABRIR EL ARCHIVO");
puts ("");
return 1;
}
//Creacion del Primer Nodo
Nmnode=malloc(sizeof(mnode));
fread (&MN,sizeof(MN),1,f);
MN.NEXT=NULL;
Nmnode=&MN;
*NODE=Nmnode;
//Verifica que el puntero se halla cargado
puts ("");
printf ("Nombre: %s\n",(*NODE)->NAME);
printf ("Direccion: %s\n",(*NODE)->ADDRESS);
printf ("Saldo: %d\n",(*NODE)->CASH);
puts ("");
fclose (f);
return 0;
}
int main ()
{
ptrmn mNODE;
FILE *f;
int C;
//Lee del Archivo y carga el puntero
RfF (f,&mNODE);
//Se fija si el puntero salio bien cargado
puts ("");
printf ("Nombre: %s\n",mNODE->NAME);
printf ("Direccion: %s\n",mNODE->ADDRESS);
printf ("Saldo: %d\n",mNODE->CASH);
puts ("");
scanf ("%d",&C);
return 0;
} |