void chiffrervFichier(char *source, char *secret, char *nouveau) { FILE *fichier_destination, *fichier_source, *fichier_secret; unsigned int caractereBase, caractereSecret; unsigned int ancien[16], binaire[16]; int i; unsigned int total; //On ouvre les fichiers fichier_destination = fopen(nouveau, "wb+"); fichier_source = fopen(source, "rb"); fichier_secret = fopen(secret, "rb"); caractereBase = fgetc(fichier_source); caractereSecret = fgetc(fichier_secret); do { total = 0; entiertobinaire(caractereBase, ancien); entiertobinaire(caractereSecret, binaire); //On fait un XOR et on reconverti à la volée for(i=7;i>=0;i--) { total += ((ancien[i]^binaire[i])*puis(2,i)); } //On écrit fwrite (&total, 1, 1, fichier_destination); //On lit le fichier secret et on le transforme en binaire caractereBase = fgetc(fichier_source); caractereSecret = fgetc(fichier_secret); } while (caractereSecret != EOF); //On ferme les fichiers fclose(fichier_destination); fclose(fichier_source); fclose(fichier_secret); }
#include "algoheader.h" debut entier a,b; ecrire("donner un NUM 1 : "); lire("%i",de a); ecrire("donner un NUM 2 : "); lire("%i",de b); b = b + a; ecrire("resultat : %i",b); ecrire("\npuissans resultat %f",puis(b,a)); ecrire("\nb * 2 = %i",b); fin