Concaténation de deux fihcier

Description

Ce programme concatène deux fichiers, il est écrit en c.

Source / Exemple :


/*********************************************************************************/
/*Ce programme est sous license GNU                                              */
/*El Antri Abdellah (Djillali Liabes university, Informatic departement, Algeria)*/
/*E-Mail: El_Emir_2002@yahoo.fr                                                  */
/*********************************************************************************/

/*-------------------------------------------------------------------------*/
/* Compiled with TC++ 3 under windows                                      */
/* Use cc to compil programme under unix/linux                          */
/*-------------------------------------------------------------------------*/

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

int main(int argc,char **argv)
{
char buf[2*1024], fname_src[50], fname_dest[50];
FILE *src,*dest;
int copyed, read, nbr_err;

printf("\n\r Copyright(C), El Antri Abdellah 2001\n");
printf("\n\r *****************************************************************************");
printf("\n\r *This program concatenate the file src in the end of file dest.             *");
printf("\n\r *if the file dest does not exist the programme create it and copy src in it.*");
printf("\n\r *file src and file dest must be in current directory                         *");
printf("\n\r *****************************************************************************");
if(argc != 3)
  {
  printf("\n Name of file src:");scanf("%s",fname_src);
  printf("\n Name of file dest:");scanf("%s",fname_dest);
  }
  else if (argc == 3)
       {
       strcpy(fname_src, argv[1]);
       strcpy(fname_dest, argv[2]);
       }
       else {
	    printf("\n\r Syntax error: Concat name_file_src name_file_dest or concat.");
	    printf("\n\r Hit key ..");
	    exit(1);
	    }

if((dest = fopen(fname_dest,"a+")) == NULL)
		{
		printf("\n Erreur: can't open or create %s",fname_dest);
		exit(1);
		}
if((src = fopen(fname_src,"r")) == NULL)
      {
      printf("\n Erreur: can't open %s",fname_src);
      fclose(dest);
      exit(1);
      }
printf("\nGo!\n");
while(!feof(src))
     {
     printf(".");
     nbr_err = 0;
     read = 0;
     do
       {
	nbr_err = nbr_err + 1;
	read = fread(buf,sizeof(buf),1,src);
       }while (read != 1 && nbr_err < 5);
     if(nbr_err == 5)
       {
       printf("\n\r Error: Read from %s",fname_src);
       printf("\n\r Hit key ..");
       getch();
       exit(1);
       }
     nbr_err = 0;
     copyed = 0;
     do
       {
	nbr_err = nbr_err + 1;
	copyed = fwrite(buf,sizeof(buf),1,dest);
       }while( copyed != 1 && nbr_err < 5);
     if(nbr_err == 5)
       {
       printf("\n\r Error: Write to %s",fname_dest);
       printf("\n\r Hit key ..");
       getch();
       exit(1);
       }

     }
fclose(src);
fclose(dest);
return(0);

}

Conclusion :


Tout vos questions; propositions seront les bien venu.
Email: El_Emir_2002@yahoo.fr

Codes Sources

A voir également

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.