Il tuo codice corretto (solo la sintassi).
codice:
#include <stdio.h>
#include <stdlib.h>
#define MAXSTR 50
int main()
{
typedef struct
{
char nome[MAXSTR];
int eta;
char citta[MAXSTR];
} Coppie;
int i,ncoppie=3;
FILE *arch_file;
Coppie archivio[6]=
{
{"Alberto", 24, "Palermo"},
{"Ciccio", 26, "Roma"},
{"Carlo", 30, "Pisa"},
{"Carla", 28, "Roma"},
{"Maria", 28, "Roma"},
{"Giusi", 28, "Roma"}
};
arch_file = fopen("archivio_coppie","w");
for ( i=0; i<ncoppie; i++)
{
fprintf(arch_file, "%s\t%d\t%s\n", archivio[i].nome, archivio[i].eta, archivio[i].citta);
}
fclose(arch_file);
arch_file = fopen("archivio_coppie","r");
for( i=0; i<ncoppie; i++)
{
fscanf(arch_file, "%s\t%d\t%s", archivio[i].nome, archivio[i].eta, archivio[i].citta);
printf("Coppia n.%d: Nome: %s, Eta: %d Citta: %s\n", i, archivio[i].nome, archivio[i].eta, archivio[i].citta);
}
fclose(arch_file);
return 0;
}
Non puoi usare i caratteri accentati (à) per le variabili ...
Avevo capito che tu dovessi leggere i dati dal file e qui invece li scrivi... :master: