Campos de una estructura escritos en un fichero – I

 Mª José Bañeres

// Programa que, dado un array de estructuras, escribre los tres campos de cada estructura
// del array en el fichero de texto ‘clientes.dat’
 
#include <stdio.h>
#include <stdlib.h>
#define MAX 100

typedef struct persona
{
   char nombre[20];
   char apellido[20];
   int edad;
} Persona;

// void leer_datos(Persona lista[ ]);
void escribir_datos(Persona lista[ ]);

 
int main()
{
 Persona lista[MAX];
 
// leer_datos(lista);
 escribir_datos(lista);

 system("pause");
 return 0;
}

void escribir_datos(Persona lista[ ])
{
  int i;
  FILE *pf;

  pf=fopen("clientes.dat","w");
 
  for(i=0;i<MAX;i++)
 {
  fputs(lista[i].nombre, pf);
  fputs(lista[i].apellido, pf);
  fprintf(pf,"%d n", lista[i].edad);
  }
  fclose(pf);
}

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

2 respuestas a Campos de una estructura escritos en un fichero – I

  1. Ricardo dijo:

    Al compilar, me aparece "Warning: passing arg 1 of fputs makes pointer from integer without a cast". A pesar de ello me crea el fichero "clientes.dat". No comprendo que puede pasar.
    MªJosé

  2. Ricardo dijo:

    (1) se debe a que ‘fputs()’ esta diseñado para transferir cadenas y no ‘int’,ahi debes usar ‘fprintf()’, como ya te lo he puesto en el código.(2) fijate que te sacado el código de volcar el contenido en disco a una función: ‘escribir_datos()’,pero evidentemente para poder hacer eso primero tendrás que leerlos de algún sitio, así que tefalta por hacer otra función tal como te la he dejado indicada: ‘leer_datos()’.ric.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s