1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct adresse adresse1;
struct adresse {
int numero;
int postale;
char *voie;
char *nomdelavoie;
char *ville;
};
int main(void) {
int n = 0, i;
struct adresse *adresse1;
FILE *f = fopen("adresses.txt","r");
if (!f) {
printf("Impossible d'ouvrir le fichier\n");
return 1;
}
char ligne[256];
while (fgets(ligne,256,f)) {
if (n == 0) {
adresse1 = malloc(sizeof(struct adresse)*(n+1));
}
else {
adresse1 = realloc(adresse1,sizeof(struct adresse)*(n+1));
}
fscanf(f, "%d",&adresse1[n].numero);
fscanf(f, "%s",adresse1[n].voie);
fgets(adresse1[n].nomdelavoie , sizeof(adresse1[n].nomdelavoie), f);
fscanf(f, "%s", adresse1[n].ville);
fscanf(f, "%d",&adresse1[n].postale);
n++;
}
for (i = 0; i < n; i++)
{
printf("Numero : %d\n", adresse1[i].numero);
printf("voie : %s\n", adresse1[i].voie);
printf("Nom de la voie :%s\n", adresse1[i].nomdelavoie);
printf("ville :%s\n", adresse1[i].ville);
printf("postale : %d\n", adresse1[i].postale);
fclose(f);
free(adresse1);
}
return 0;
} |
Partager