コード例 #1
0
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);
}
コード例 #2
0
ファイル: test.c プロジェクト: amranidev/algoheader
#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