begin process at 2008 07 19 16:40:56
1 212 906 membres
228 nouveaux aujourd'hui
14 165 membres club

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

Catégorie :Fichiers / Disque Classé sous : fichier, lecture, ecriture, manipulation, fichiers Niveau : Débutant Date de création : 11/02/2004 Date de mise à jour : 21/11/2005 12:59:40 Vu : 10 946

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

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);
}
21 novembre 2005 12:59:41 :
PAs de mise à jour spécifique
  • signaler à un administrateur
    Commentaire de MULRIK le 13/06/2006 19:44:47

    Exellent bravo !!! C'est exactement ce que je cherchais ! 10 /10

  • signaler à un administrateur
    Commentaire de sebastienmz le 03/11/2006 10:34:55

    super source mais UN SEUL point :
    les variable global c'est pas super
    SInon BRAVO !!

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS