Cryptage en C++

Résolu/Fermé
Kharec Messages postés 4143 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 - 9 juil. 2008 à 09:58
Kharec Messages postés 4143 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 - 22 août 2008 à 12:07
Bonjour à tous, ô internautes impétueux ! =)

En fait je vais vous expliquer rapidement mon problème:

Voilà je crée un programme de cryptage en C++ et après la compilation tout va bien le programme s'ouvre. Mais après lecture du fichier, le programme bloque et je ne sais pas pourquoi ...

Voici mon code merci de m'aider :

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

string crypte(string x,int plus) {
for(int i=0;i<(int)x.size();i++)
{
x[i]=x[i]+plus;
}
return(x);
}

string decrypte(string x,int moins) {
for(int i=0;i<(int)x.size();i++)
{
x[i]=x[i]-moins;
}
return(x);
}


int main()
{
int choix;
long cle;
char fichier[128],fichiercible[128];
string line,s,cs;
cout << "Programme code par Kharec, faites le choix:\n" ;
cout << "1. Cryptage\n2. Decryptage\n";
cin >> choix;
switch(choix)
{
case 1:
{
cout << "\nEntrez la cle (uniquement des chiffres) : ";
cin >> cle;
cin.ignore();
cout << "Fichier source : ";
cin.getline(fichier, 128);
cout << "Fichier cible : ";
cin.getline(fichiercible, 128);
cout << "Lecture du fichier...\n";
ifstream fi(fichier);
while(!fi.eof())
{
getline(fi, line);
s += line+'\n';
}
fi.close();
cout << "Cryptage...\n";
cs=crypte(s, cle);
cout << "Ecriture dans le fichier cible...\n";
ofstream fo(fichiercible);
fo << cs;
fo.close();
cout << "OK\n";
}
break;
case 2:
{
cout << "\nEntrez la cle (uniquement des chiffre) : ";
cin >> cle;
cin.ignore();
cout << "Fichier source : ";
cin.getline(fichier, 128);
cout << "Fichier cible : ";
cin.getline(fichiercible, 128);
cout << "Lecture du fichier...\n";
ifstream fi(fichier);
while(! fi.eof())
{
getline(fi, line);
cs += line+'\n';
}
fi.close();
cout << "Decryptage...\n";
s=decrypte(cs, cle);
cout << "Ecriture dans le fichier cible...\n";
ofstream fo(fichiercible);
fo << s;
fo.close();
cout << "OK\n";
}
break;
default: break;
}
}

2 réponses

Kharec Messages postés 4143 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 509
22 août 2008 à 12:07
Bon allez je met résolu, j'en ai conçu un autre :p
1
Kharec Messages postés 4143 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 509
9 juil. 2008 à 13:25
Bon, à part faire des copiers-coller les gars ;)
0