|
begin process at 2008 07 19 16:40:56
Derniers logiciels
|
Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
MANIPULATION D'UN FICHIER (LECTURE, ECRITURE)
Information sur la source
Description
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
- #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);
- }
#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);
}
Historique
- 21 novembre 2005 12:59:41 :
- PAs de mise à jour spécifique
Sources de la même categorie
Commentaires
Discussions en rapport avec ce code source
|
Téléchargements
Logiciels à télécharger sur le même thème :
|
|