De-fusion de fichiers

Soyez le premier à donner votre avis sur cette source.

Vue 3 310 fois - Téléchargée 162 fois

Description

Voila maintenant comment de-fusionner les fichiers

Source / Exemple :


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

/***********************************************************************/
FILE *MyFileOpen(char *name,char *mode)
{
FILE *f;
if((f = fopen(name,mode)) == NULL)
	{
	printf("Impossible d'ouvir le fichier '%s' en mode '%s' !\n",name,mode);
	getch();
	exit(1);
	}
return f;
}
/***********************************************************************/
void MyFileClose(FILE *f)
{
if(fclose(f) == EOF)
	{
	printf("Impossible de fermer le fichier !\n");
	getch();
	exit(1);
	}
}
/***********************************************************************/
/* obtient une chaine de caractere a partir d'un fichier */
void MyFileGetString(FILE *f,char *p)
{
do
	{
	char c;
	c = (char)fgetc(f);
	if(c == '\0')
		{
		break;
		}
	else
		{

  • p = c;
p ++; } }while(1);
  • p = '\0';
} /***********************************************************************/ /* copie n octet de fIn dans fOut */ void MyFileCopy(FILE *fOut,FILE *fIn,size_t n) { while(n > 0) { char buf[256]; size_t nbByte; nbByte = min(n,256); fread(buf,sizeof(char),nbByte,fIn); fwrite(buf,sizeof(char),nbByte,fOut); n -= nbByte; } } /***********************************************************************/ /***********************************************************************/ /***********************************************************************/ int main(int argc,char **argv) { int nbFile; int i; FILE *fIn; printf("--------------------------------------------------\n"); printf("Lancement du programme : de-fusion de fichiers ...\n"); if(argc != 2) { printf("il faut au moins un fichiers !\n"); printf("Format : main.exe fileIn\n"); getch(); return 1; } printf("Fichier d'entre %s\n",argv[1]); fIn = MyFileOpen(argv[1],"rb"); fread(&nbFile,sizeof(int),1,fIn); for(i=1;i<=nbFile;i++) { FILE *fOut; char name[256]; size_t size; MyFileGetString(fIn,name); printf("- %s\n",name); fOut = MyFileOpen(name,"wb"); fread(&size,sizeof(long),1,fIn); MyFileCopy(fOut,fIn,size); MyFileClose(fOut); } MyFileClose(fIn); printf("Le programme ce termine bien !\n"); getch(); return 0; }

Codes Sources

A voir également

Ajouter un commentaire Commentaire
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

tu trouves pas ça un peu limite de poster en 2 fois ??

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.