Aide Code C++ (Ecriture, comparaison de chaines, remplacement de chaines dans un
JosselynColombet
Messages postés3Date d'inscriptionmercredi 8 février 2012StatutMembreDernière intervention 8 février 2012
-
8 févr. 2012 à 11:37
JosselynColombet
Messages postés3Date d'inscriptionmercredi 8 février 2012StatutMembreDernière intervention 8 février 2012
-
8 févr. 2012 à 21:19
Bonjour, Je m'appel Josselyn et je suis nouveau sur le forum de CppFrance.com
Je travail sur le cryptage des mot de passes depuis plusieurs semaines dans le but d'un oral avec présentation vendredi.
Pour améliorer celle-ci j'essaye de développer un code permettant de prendre une chaîne de caractère stocké dans un fichier pour la copier dans un autre, je m'explique :
J'ai besoin de pouvoir saisir deux chaines et de les stocké dans un fichier sous le model suivant :
chaîne 1 chaîne 1'
chaîne 2 chaîne 2'
chaîne 3 chaîne 3'
ect..
[ la chaîne de gauche correspondant à un mot ou une phrase et celle de droite a son chiffrage en md5. ( J'ai déjà le code me permettant le chiffrage, ici j'ai juste besoin de pouvoir saisir et stockés les chaines ) ]
Pour ensuite pouvoir comparer, grâce a une seconde fonction permettant le parcours du fichier (ou tableau) réaliser plus haut, un mot saisi, au mot stocké dans le fichier.
une fois la comparaison vraie (mot_saisi = chaîne x) pouvoir déplacer le curseur n ligne plus bas pour prendre une chaîne md5 ne correspondant pas au mot saisie pour la stocké dans un second fichier ou tableau
en résumé: je souhaite saisir des chaines dans un fichier, pouvoir ensuite, grâce à une autre procédure, saisir un mot qui sera comparer avec un parcours du fichier ( ou tableau) précédent. Me déplacer dans ce fichier (ou tableau) et saisir un objet de ce fichier et stocké le mot saisie et la chaîne saisie dans un autre tableau ou fichier.
par exemple si le mot_saisi correspond à la chaîne 1 je veux pouvoir me deplacer sur la chaine 1+n et prendre chaine 1'+n
JosselynColombet
Messages postés3Date d'inscriptionmercredi 8 février 2012StatutMembreDernière intervention 8 février 2012 8 févr. 2012 à 13:31
@ Renfield
Premierement merci pour votre réponse rapide !
J'ai corriger ce que vous m'avez dit cependant je n'arrive toujours pas a faire ce que je veux
Je cherche à entrer des chaines de caractères dans un fichier ou un tableau
suivant le modèle :
fichier
----------
chaîne a chaîne a'
La ou je coince c'est sur le fait de comparer deux chaines en, en saisissant une.
exemple :
je saisis : bonjour ( qui correspond a une chaîne de la première colonne)
et j'aimerais parcourir le fichier jusqu’à trouver le mot "bonjour" [mot saisi] dans le fichier. (préalablement rentré avec addmot(). En fait avec addmot() je créer une sorte de bibliothèque que j'aimerais réutiliser et parcourir) une fois la correspondance trouver j'aimerais saisir un entier n pour pouvoir me déplacer dans le fichier de n lignes
d'où m[i]=m[i+n]; qui est certainement quand même fausse et inutile ^^'
et pour finir j'aimerais copier la chaîne de gauche ( exemple : chaîne x') dans un second fichier (ou tableau)
en suivant le premier modèle c'est à dire :
JosselynColombet
Messages postés3Date d'inscriptionmercredi 8 février 2012StatutMembreDernière intervention 8 février 2012 8 févr. 2012 à 21:19
Je m'excuse du double post, mais je n'ai pas trouvé la fonction edit*
j'ai donc essayer d'avancer et j'en suis rendu ici la classe ne m’étant ici pas utile je l'ai enlever mais je n'arrive toujours pas à comparer les deux chaines et afficher uncrypt.hachc; correspondant a la chaîne saisie. et donc je n'arrive pas à me déplacer dans le fichier de n ligne :/
D'avance merci
typedef struct
{
std::string motc;
std::string hachc;
}Scrypt;
Scrypt uncrypt;
void addmot()
{
ofstream file("Hash.txt", ios::app); // ouverture en écriture à la suite du fichier sans effacer les données.
if(file)
{
int n=1;
int i=20;
int p=1;
cout<< "entrez le mot";
cin>>uncrypt.motc;
cout<< "entrez hash correspondant";
cin>>uncrypt.hachc;
file<> m;
while (file)
{
std::getline(file, line);
++nb;
if (line.find(m)) // ou if (uncrypt.hachc==m) ??
{
std::cout << "Correspondance trouvé" << line.find(m) << std::endl;
}
}
getch();
}