C'est un petit programme en c qui permet de créer, modifier ou consulter un fichier ... il permet egalement de compter le nombre de mot que le fichier contient...etc...
Source / Exemple :
#include <stdio.h>
#include <stdlib.h>
char nom;
char mot;
char nf[81];
FILE * entree; //flux associe au fichier à creer
//procédure permettant la saisie dans un fichier existant
void modif (char nf[81])
{
entree = fopen (nf, "r+");//ouvre le fichier en mode MIS A JOUR
if (!entree)//on quitte lors d'une erreur a l'ouverture du fichier
{
printf ("*** Impossible d'ouvrir le fichier ***");
exit(-1);
}
fseek(entree, 0, SEEK_END);//se place en fin de fichier
printf ("Saisir la liste des mots (* pour finir)");
fseek(entree, 0, SEEK_CUR);
while (mot != '*')
{
scanf ("%c", &mot);
fprintf(entree, "%c", mot);
}
}
//procedure permettant la création et la saisie dans un nouveau fichier
void cree (char nf[81])
{
entree = fopen (nf, "w");//ouvre le fichier en mode ECRITURE
printf ("Saisir la liste des mots (* pour finir)");
while (mot != '*')
{
scanf ("%c", &mot);
fprintf(entree, "%c", mot);
}
}
//procedure permettant les différentes applications de consultations du fichier
void consult (char nf[81])
{
//menu de choix de la consultation
int p;
int nb = 0;
consultation :puts("\n *** MENU CONSULTATION *** ");
puts("\n {1} AFFICHAGE du fichier\n");
puts(" {2} NOMBRE de modification depuis sa creation\n");
puts(" {3} RECHERCHE de la définition dans le DICO\n");
scanf ("%d",&p);
entree = fopen (nf, "r");
switch(p)
{
case 1 ://affichage du fichier en son intégralité
puts("\n *** DEBUT DE FICHIER ***");
while (1)
{
fscanf (entree , "%c", &mot);
if (feof (entree))break;
//enlève a l'affichage tous les '*' saisies
if (mot != '*')printf("%c", mot);
}
puts("\n *** FIN DE FICHIER ***");
break; //fin du case 1
case 2 :
//NOMBRE de modifications depuis sa création
while (1)
{
fscanf (entree , "%c", &mot);
if (feof (entree))break;
if (mot == '*')
{
nb++;
break;
}
}
printf ("\n *** Le fichier a ete modifier %d fois *** ",nb+1);
break; //fin du case 2
//si erreur de saisie
default :
printf("\n MAUVAISE saisie \n");
goto consultation;//retourne au menu de consultation
}
}
main ()
{
//Nom du fichier à ouvrir
int p;
general :puts("\n *** MENU GENERAL *** ");
puts("\n {1} CREATION d'un fichier ");
puts(" {2} MODIFICATION d'un fichier ");
puts(" {3} CONSULTATION d'un fichier ");
puts ("\nATTENTION SI VOUS TAPER c LES DONNEES D UN FICHIER EXISTANT SERONT DETRUITES !!!!\n");
scanf("%d",&p);
switch (p)//varie selon le choix (consult, modif, creation)
{
case 1:
printf (" *** Nom du fichier a creer ***\n\n");
break;
case 2:
printf (" *** Nom du fichier a modifier ***\n\n");
break;
case 3:
printf (" *** Nom du fichier a consulter ***\n\n");
break;
//si erreur de saisie
default :
printf("\n MAUVAISE saisie \n");
goto general;//retourne au menu general
}
scanf ("%80s", nf);
printf("\n");
switch (p)
{
case 1://on modifie le contenu du fichier
cree(nf);
break;
case 2://On cree un nouveau fichier
modif(nf);
break;
case 3://on consulte le contenu du fichier
consult(nf);
break;
}
//fermeture du fichier
fclose(entree);
int xx;
scanf("%d",xx);
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.