cs_molion
Messages postés1Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention27 décembre 2009
-
27 déc. 2009 à 09:34
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
27 déc. 2009 à 11:19
Salut à tous,
Je vous prie de bien vouloir m'aider sur ce problème. Je débute en MFC (Visual c++ 2008)et j'aimerais dans une partie de mon code pouvoir :
1- sélectionner un fichier (via un bouton);
2- recupérer la chaine de caractère
3- ouvrir le fichier à fin d'y opérer certains traitement (cryptage dans mon cas).
les parties 1 et 2 marche déjà, la partie 3 me fait galérer depuis un bon bout, je vous assure j'ai fouillé le net sans succès. voici cette partie du code:
// rafraichissement
UpdateData();
// remplacement de \ par les / . en fait get2 est un
// CString où est stocker le lien vers le fichier à traiter.
for (int j = 0; j < get2.GetLength(); j++){
if (get2.GetAt(j)== '\\'){
get2.SetAt(j,'/');
}
}
// ouverture du fichier
FILE* fp=fopen((char*)get2.GetString(),"w");
fclose(fp);
if(fp==NULL)
{ ::MessageBox( NULL, TEXT("Le fichier ne peut être ouvert !!!!"), TEXT("OK"), MB_OK );
}
}
Le problème est que le fichier ne s'ouvre pas.
je vous prie de bien vouloir m'aider et de m'indiquer une méthode alternative à celle ci si jamais la démarche n'est pas bonne.
Merci d'avance.
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 27 déc. 2009 à 11:19
Bonjour.
On dit chiffrement et non cryptage, qui ne veut rien dire.
Sinon, un truc me parait bizarre:
// ouverture du fichier
FILE* fp=fopen((char*)get2.GetString(),"w");
fclose(fp);
if(fp==NULL)
{ ::MessageBox( NULL, TEXT("Le fichier ne peut être ouvert !!!!"), TEXT("OK"), MB_OK );
}
}
Tu ouvres le fichier, puis tu le fermes immédiatement, avant de vérifier si fp == NULL. C'est assez étrange. Si tu es en C++, inutile d'utiliser du C, il y a les fstream pour manipuler les fichiers.
Sinon, je te conseille de faire afficher la valeur de get2.GetString(), qui est peut être mal formée.