Bonjour,
je développe une appli qui utilise wxWidget et OpenCV. J'ai fait quelques classes mais je suis bloqué sur un problème étrange...
En effet, j'ai besoin de convertir un wxString (récupéré par une instance de wxFileDialog) vers un char* (le nom d'un fichier, utilisé dans une classe utilisant openCV...).
Mon problème est le suivant : mon char* ne contient que la premier lettre du wxString...
J'dois être aveugle, j'sens que la faute est toute conne mais j'vois pas bien quoi...
Voici mon code :
Et le fichier texte ne contient que la première lettre du Filename... :/Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 wxFileDialog fdlg(this,_T("Choisissez un fichier")); wxString fichier; // si annulation if(fdlg.ShowModal()==wxID_CANCEL) { return; } else { // Sinon charge le fichier fichier = fdlg.GetFilename(); char* nomtr =(char*) fichier.c_str(); string fichierSignet = "fichier.txt"; // Creation du fichier ou écrasement ofstream fichier(fichierSignet.c_str(), ios::trunc); /* --- Cas d'erreur d'ouverture du fichier --- */ if ( !fichier ) { cerr << "Erreur de creation du fichier" << endl; } fichier << nomtr << endl; fichier.close();
A noter que si j'fais un char[] ça marche pas... et que si j'met des string partout, ça foire beaucoup d'autres lignes de mon programme... gniii les chaînes de caractères et leurs conversions... :cry:
Merci de votre aide ;) J'ai déjà eu assez de mal à trouver comment convertir un wxString vers un char*, alors je sèche... :(
:aie: