Yo habia hecho un Programa para cargar un archivo y otro para leerlo. Funcionaban bien, pero cuando los hice funciones para correrlos desde un Programa Principal dejaron de funcionar, ni siquiera carga el archivo (Lo Crea, pero lo deja vacio). Aca les mando el Programita si saben cual es el error por favor avisenme. Muchas Gracias.
#include <stdio.h>
#include <string.h>
//Estructura MNODE
typedef struct Smnode
{
char NAME[40];
char ADDRESS[50];
double CASH;
struct Smnode *NEXT;
} mnode;
int WtF (FILE *f)
{
//Variables Locales
mnode MN;
//Apertura del Archivo
if ((f=fopen("INFO.dat","wb"))==NULL)
{
puts ("ERROR AL ABRIR EL ARCHIVO");
return 1;
}
//Carga del MNODE
puts ("NAME");
gets (MN.NAME);
puts ("ADDRESS");
gets (MN.ADDRESS);
puts ("CASH");
scanf ("%d",&MN.CASH);
MN.NEXT=NULL;
puts ("");
//Carga del MNODE al Archivo
fwrite(&MN,sizeof(MN),1,f);
//Cerrar Archivo
fclose(f);
return 0;
}
int RfF (FILE *f)
{
//Variables Locales
mnode MN;
int C;
//Apertura del Archivo
if ((f=fopen("INFO.dat","wb"))==NULL)
{
puts ("ERROR AL ABRIR EL ARCHIVO");
return 1;
}
//Carga del MNODE (Del Archivo)
fread(&MN,sizeof(MN),1,f);
//Impresion del MNODE
MN.NEXT=NULL;
puts ("NAME");
printf ("%s\n",MN.NAME);
puts ("ADDRESS");
printf ("%s\n",MN.ADDRESS);
puts ("CASH");
printf ("%d\n",MN.CASH);
//Cerrar Archivo
fclose(f);
scanf ("%d",&C);
return 0;
}
//Programa Principal
int main()
{
FILE *f;
WtF (&*f);
RfF (f);
return 0;
} |