Problème d'ouverture de fichier

cs_molion Messages postés 1 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 27 décembre 2009 - 27 déc. 2009 à 09:34
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 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.

1 réponse

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
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.
0
Rejoignez-nous