1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| char* source=NULL;
char* dest=NULL;
char* option=NULL;
char* final=NULL;
char* temp=NULL;
FILE* fichierSource=NULL;
FILE* fichierDest=NULL;
int i,j,tabCaract[8];
unsigned char code;
unsigned char resultat;
long taille_fichier;
if(fichierSource = fopen(source, "r+"))
{
taille_fichier = filesize (fichierSource);
temp=(char *)malloc(sizeof(char) * taille_fichier);
final=(char *)malloc(sizeof(char) * taille_fichier);
fread (temp,1,taille_fichier,fichierSource);
fclose(fichierSource);
}
if(fichierDest = fopen(dest,"w"))
{
for (i=0;i<taille_fichier;i++)
{
code = temp[i];
for(j=0;j<8;j++)
{
tabCaract[j] = (code>127?1:0) ;
code<<=1;
}
resultat = (128*tabCaract[0])+(64*tabCaract[1])+(32*tabCaract[2])+(16*tabCaract[3])+(8*tabCaract[4])+(4*tabCaract[5])+(2*tabCaract[6])+(1*tabCaract[7]);
strcat(final, resultat);
}
fputc(resultat,fichierDest);
fclose(fichierDest);
}
} |