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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| #include <stdio.h>
#include <stdlib.h>
struct mastruct
{
char ID[15];
char status[10];
char categorie[100];
char titre[100];
};
void add_caractere(char* s,char c);
int main()
{
struct mastruct librairie[20];
strcpy(librairie[1].ID, "1234Fr3");
char recup[20];
char ligne[100];
char c;
int i=0;
FILE *fichier;//Pointeur fichier classes.txt
fichier=fopen("livre.txt","r");
do{
//ID
do{
c=fgetc(fichier);
//printf("\n%d __ C: %c\n", i, c);
if(c != '*')
add_caractere(recup, c);
//printf("recup: %s ;\t c= %c\t", recup,c);
//system("pause");
}while(c != '*');
strcpy(librairie[i].ID,recup);
strcpy(recup,"");
//STATUS
do{
c=fgetc(fichier);
//printf("\n%d __ C: %c\n", i, c);
if(c != '*')
add_caractere(recup, c);
//printf("recup: %s ;\t c= %c\t", recup,c);
//system("pause");
}while(c != '*');
strcpy(librairie[i].status,recup);
strcpy(recup,"");
//CATEGORIE
do{
c=fgetc(fichier);
//printf("\n%d __ C: %c\n", i, c);
if(c != '*')
add_caractere(recup, c);
//printf("recup: %s ;\t c= %c\t", recup,c);
//system("pause");
}while(c != '*');
strcpy(librairie[i].categorie,recup);
strcpy(recup,"");
//TITRE
do{
c=fgetc(fichier);
//printf("\n%d __ C: %c\n", i, c);
if(c != '*')
add_caractere(recup, c);
//printf("recup: %s ;\t c= %c\t", recup,c);
//system("pause");
}while(c != '*');
strcpy(librairie[i].titre,recup);
strcpy(recup,"");
printf("LIVRE %d: \nID%d: %s \n", i, i, librairie[i].ID);
printf("Status%d: %s \n", i, librairie[i].status);
printf("Categorie%d: %s \n", i, librairie[i].categorie);
printf("Titre%d: %s \n\n", i, librairie[i].titre);
i++;
}while(fgets(ligne,100,fichier) != NULL);
fclose(fichier);
int m = 1;
// for(m = 1; m<=2; m++)
// {
// printf("ID %d: %s\n", m, librairie[m].ID);
// }
// return 0;
}
void add_caractere(char* s,char c)
{
size_t t=strlen(s);
s[t+1]='\0'; // pas d'espace entre \ et 0 mais pour voir dans le forum il faut un espace
s[t]=c;
} |
Partager