0/5 (1 avis)
Snippet vu 4 984 fois - Téléchargée 33 fois
#include <stdlib.h> #include <fstream> #include <iostream> #define OUTFILECR "le chemin du fichier a coder" #define OUTFILEDCR "le chemin du fichier a decoder" static void cr(char *filename) { std::ifstream in(filename, std::ios::in); std::ofstream out(OUTFILECR, std::ios::out); unsigned char c, tmp; unsigned int j, n; while (in.good() && ((c = in.get()) != 255)) { n = 0; for (j = 0; j < 8; j++) { n <<= 1; n |= ((c & 0x80) >> 7); n <<= 1; n++; c <<= 1; } tmp = n >> 8; out << tmp; tmp = (n & 0x00ff); out << tmp; } in.close(); out.close(); } static void dcr(char *filename) { std::ifstream in(filename, std::ios::in); std::ofstream out(OUTFILEDCR, std::ios::out); unsigned char c, d, tmp; unsigned int i; while (in.good() && ((c = in.get()) != 255)) { d = in.get(); for (i = 0; i < 4; i++) { tmp <<= 1; tmp |= ((c & 0x80) >> 7); c <<= 2; } for (i = 0; i < 4; i++) { tmp <<= 1; tmp |= ((d & 0x80) >> 7); d <<= 2; } out << tmp; } in.close(); out.close(); } int main(int argc, char* argv[]) { char *in_file; if (argc > 1) { in_file = argv[1]; cr(in_file); // mettre en commentaires pour decoder //dcr(in_file); enlever les commentaire pour decoder } return 0; }
31 mai 2009 à 11:59
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.