Exercice IX_1:
#include <stdio.h> #include <conio.h> void main() { FILE *fichier1,*fichier2; char c; printf("COPIE EN COURS ...\n"); fichier1 = fopen("c:\\bc5\\Courc_C\\Teach_C\\CHAP9\\essai.dat","r"); fichier2 = fopen("copie.dat","w"); while((c=(char)getc(fichier1))!=EOF)putc(c,fichier2); fclose(fichier1); fclose(fichier2); printf("C'EST FINI !\n"); printf("\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_2:
#include <stdio.h> #include <conio.h> void main() { FILE *fichier; int compteur=0; fichier = fopen("c:\\bc5\\Courc_C\\teach_C\\chap9\\copie.dat","r"); while(getc(fichier)!=EOF)compteur++; fclose(fichier); printf("TAILLE DU FICHIER: %d OCTETS\n",compteur); printf("\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_3:
#include <stdio.h> #include <conio.h> void main() { FILE *fichier; int i,n; fichier = fopen("nombre.dat","wb+"); for(i=0;i<10;i++) { printf("N = "); scanf("%d",&n); putw(n,fichier); } rewind(fichier); while(!feof(fichier)) /* essayer avec une boucle for */ { n=getw(fichier); printf("%d ",n); } fclose(fichier); printf("\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_4:
#include <stdio.h> #include <conio.h> void main() { FILE *fichier; char c,nom[10]; printf("NOM DU FICHIER A LISTER: "); gets(nom); if((fichier = fopen(nom,"r"))==NULL) printf("\nERREUR A L'OUVERTURE, CE FICHIER N'EXISTE PAS\n"); else { printf("\n\t\t\tLISTING DU FICHIER\n"); printf("\t\t\t------------------\n\n"); while((c=getc(fichier))!=EOF)printf("%c",c); } fclose(fichier); printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_5:
#include <stdio.h> #include <conio.h> void main() { FILE *fichier; int i; char p[4]; /* saisie du fichier */ fichier = fopen("chaine.dat","w+"); printf("\nENTRER 5 CHAINES DE 3 CARACTERES\n"); for(i=0;i<5;i++) { gets(p); fputs(p,fichier); } rewind(fichier); /* pointeur au debut */ /* relecture du fichier */ printf("\n\nLECTURE DU FICHIER\n\n"); while((fgets(p,4,fichier))!=NULL)printf("%s ",p); fclose(fichier); printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_6:
#include <stdio.h> #include <conio.h> void main() { FILE *fichier; char p[4]; /* ajout d'une chaine */ fichier = fopen("chaine.dat","a+"); /* pointeur a la fin */ printf("\nENTRER LA CHAINE DE 3 CARACTERES A AJOUTER\n"); gets(p); fputs(p,fichier); /*lecture du fichier pour verification */ rewind(fichier); printf("\n\nLECTURE DU FICHIER\n"); while((fgets(p,4,fichier))!=NULL)printf("%s ",p); fclose(fichier); printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_7:
#include <stdio.h> #include <conio.h> #include <string.h> void main() { FILE *fichier; char p[4],q[4],trouve=0; /* recherche d'une chaine */ fichier = fopen("chaine.dat","r"); /* lecture seule */ printf("\nENTRER LA CHAINE DE 3 CARACTERES RECHERCHEE\n"); gets(p); printf("\n\nRECHERCHE ...\n\n"); while(((fgets(q,4,fichier))!=NULL)&&(trouve==0)) if(strcmp(p,q)==0)trouve = 1; /* compare les chaines */ if (trouve ==0) printf("CETTE CHAINE N'EXISTE PAS DANS LE FICHIER\n"); else printf("CHAINE TROUVEE DANS LE FICHIER\n"); /*lecture du fichier pour verification */ rewind(fichier); printf("\n\nLECTURE DU FICHIER\n"); while((fgets(q,4,fichier))!=NULL)printf("%s ",q); fclose(fichier); printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE "); getch(); }
Exercice IX_8:
#include <stdio.h> #include <conio.h> #include <string.h> typedef struct { char nom[10]; char prenom[10]; int age; } carte; /* creation d'un type carte */ void creer_fichier(FILE *f,char *n) { char choix; carte fiche; clrscr(); printf("CREATION DU FICHIER \n\n"); printf("NOM DU FICHIER A CREER: "); gets(n); flushall(); f = fopen(n,"w"); do { printf("\nSAISIE D'UNE FICHE ?(o/n) "); choix = (char)getchar(); flushall(); if ((choix=='o')||(choix=='O')) { printf("\nNOM: ");gets(fiche.nom); printf("PRENOM: ");gets(fiche.prenom); printf("AGE: ");scanf("%d",&fiche.age); flushall(); fwrite(&fiche,sizeof(carte),1,f); } } while((choix=='o')||(choix=='O')); fclose(f); } void lire_fichier(FILE *f,char *n) { carte fiche; int compteur=0; clrscr(); printf("LECTURE DU FICHIER\n\n"); printf("NOM DU FICHIER A LIRE: ");gets(n); flushall(); f = fopen(n,"r"); if (f == NULL) printf("\nERREUR, CE FICHIER N'EXISTE PAS\n\n"); else { printf("\nLISTING DU FICHIER\n\n"); while(fread(&fiche,sizeof(carte),1,f)!=0) { printf("fiche nø%d: \n",compteur); compteur++; printf("%s %s %d an(s)\n\n",fiche.nom,fiche.prenom,fiche.age); } fclose(f); } printf("POUR CONTINUER FRAPPER UNE TOUCHE "); getch(); } void ajout(FILE *f,char *n) { carte fiche; char choix; clrscr(); printf("AJOUT D'UNE FICHE \n\n"); printf("NOM DU FICHIER A MODIFIER: "); gets(n); flushall(); f = fopen(n,"a"); do { printf("\nSAISIE D'UNE FICHE ?(o/n) "); choix = (char)getchar(); flushall(); if ((choix=='o')||(choix=='O')) { printf("\nNOM: ");gets(fiche.nom); printf("PRENOM: ");gets(fiche.prenom); printf("AGE: ");scanf("%d",&fiche.age); flushall(); fwrite(&fiche,sizeof(carte),1,f); } } while((choix=='o')||(choix=='O')); fclose(f); } void recherche(FILE *f,char *n) { carte fiche; int compteur=0; char trouve = 0,nn[10],pp[10]; clrscr(); printf("RECHERCHE DE FICHE\n\n"); printf("NOM DU FICHIER: "); gets(n); flushall(); f = fopen(n,"r"); printf("\nFICHE A RETROUVER:\n"); printf("NOM: ");gets(nn); printf("PRENOM: ");gets(pp); flushall(); while((fread(&fiche,sizeof(carte),1,f)!=0)&&(trouve==0)) { if((strcmp(fiche.nom,nn)==0)&&(strcmp(fiche.prenom,pp)==0)) { trouve=1; printf("FICHE RETROUVEE: FICHE nø%2d\n",compteur); } compteur++; } if (trouve==0)printf("CETTE FICHE N'EXISTE PAS\n"); fclose(f); printf("POUR CONTINUER FRAPPER UNE TOUCHE "); getch(); } void main() { FILE *fichier; char nom[10]; /* nom du fichier */ char choix; do { clrscr(); printf("\t\t\tGESTION DE FICHIER\n"); printf("\t\t\t------------------\n\n\n"); printf("CREATION DU FICHIER ---> 1\n"); printf("LECTURE DU FICHIER ---> 2\n"); printf("AJOUTER UNE FICHE ---> 3\n"); printf("RECHERCHER UNE FICHE ---> 4\n"); printf("SORTIE ---> S\n\n"); printf("VOTRE CHOIX: "); choix = (char)getchar(); flushall(); switch(choix) { case '1':creer_fichier(fichier,nom);break; case '2':lire_fichier(fichier,nom);break; case '3':ajout(fichier,nom);break; case '4':recherche(fichier,nom);break; } } while ((choix!='S') && (choix!='s')); }