Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08-07-2007, 08:14:11
dani_register dani_register is offline
Junior Member
Site Admin
 
Registrado: jul 2007
Posts: 4
dani_register Valoración +2
Predeterminado

Necesito Sacar el Puntero Nmnode de la Funcion RfF que Lee un Registro del Archivo y lo Carga en un Puntero a ese tipo de Registro. Cuando lo Cargo y Leo antes de Salir de la Funcion esta bien Cargado, pero cuando cuando intento leerlo en el programa principal falla. Aca les Mando las Estructuras, la Funcion y el Programa Principal (Con Impresiones para que vean como queda en la Funcion y como falla en el Programa Principal). Si saben como podria solucionarlo avisenme, muchas gracias.

typedef struct Smnode
{
char NAME[40];
char ADDRESS[50];
double CASH;
struct Smnode *NEXT;
} mnode;

//------------------------------------------------------------------------------

//Type POINTER TO A MAIN NODE
typedef mnode *ptrmn;

//------------------------------------------------------------------------------

//Funcion READ FROM FILE

int RfF (FILE *f,ptrmn *Nmnode)
{
//Variables Locales
mnode MN;
ptrmn Amnode;

Nmnode=malloc(sizeof(mnode));
if ((f=fopen("INFO.dat","rb"))==NULL)
{
puts ("ERROR AL ABRIR EL ARCHIVO");
puts ("");
return 1;
}
fread (&MN,sizeof(MN),1,f);
MN.NEXT=NULL;
(*Nmnode)=&MN;

//Impresion de Prueba

puts ("");
printf ("Nombre: %s\n",(*Nmnode)->NAME);
printf ("Direccion: %s\n",(*Nmnode)->ADDRESS);
printf ("Saldo: %d\n",(*Nmnode)->CASH);
puts ("");

fclose (f);
return 0;
}


//------------------------------------------------------------------------------

int main ()
{
//Variables Locales
ptrmn mNODE;
FILE *f;
RfF (f,&mNODE);
puts ("");
printf ("Nombre: %s\n",mNODE->NAME);
printf ("Direccion: %s\n",mNODE->ADDRESS);
printf ("Saldo: %d\n",mNODE->CASH);
puts ("");
return 0;
}
Responder Con Cita