begin process at 2012 05 29 18:09:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

pb conversion CString string pour affichage ds combobox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb conversion CString string pour affichage ds combobox

mercredi 30 mai 2007 à 16:29:13 | pb conversion CString string pour affichage ds combobox

phenix6942

bonjour à tous
je realise un projet mfc dans lequel j utilise plusieurs boites de dialogue.
dans une de ces boites je souhaite afficher des string dans une combobox.
pour cela je dois convertir des string en Cstring et inversement.
mon probleme est le suivant :

lors de la conversion Cstring en string,

CString szNomPrenom;
string NomPrenom(szNomPrenom);

apres compilation, le message d erreur suivant apparait: 


c:\documents and settings\hp_propriétaire\bureau\itracking3\itracking\dialprofil.cpp(112) : error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(std::basic_string<_Elem,_Traits,_Ax>::_Has_debug_it)' : impossible de convertir le paramètre 1 de 'CString' en 'std::basic_string<_Elem,_Traits,_Ax>::_Has_debug_it'

with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé


------------------------------------------------------------------------------------------


que dois je faire pour eliminer cette erreur?
ps: je travaille sous Visual 2005 et j ai inclus les fichiers suivants:

#include "stdafx.h"
#include "ITracking.h"
#include "DialProfil.h"
#include <string>
#include <cstring>
#include <iostream>
#include <stdlib.h>
#include "atlbase.h"
#include "atlstr.h"
#include "comutil.h"


merci beaucoup par avance.

mercredi 30 mai 2007 à 17:09:08 | Re : pb conversion CString string pour affichage ds combobox

Loki6

Membre Club
salut,

pour convertir de string à CString : CString MyCString(Mystring);                   // avec Mystring de type string.
pour convertir de CString à string : string Mystring = MyCString.GetBuffer();   // avec MyCString de type CString.

je crois que c'est ça essaie. si d'autres veulent corriger...

Loki
mercredi 30 mai 2007 à 17:21:17 | Re : pb conversion CString string pour affichage ds combobox

phenix6942

tout d abord merci d avoir repondu.

j ai modifié mon code:

CString szNomPrenom;
string NomPrenom = szNomPrenom.GetBuffer();

j ai encore une erreur:

c:\documents and settings\hp_propriétaire\bureau\itracking3\itracking\dialprofil.cpp(116) : error C2440: 'initialisation' : impossible de convertir de 'wchar_t *' en 'std::basic_string<_Elem,_Traits,_Ax>'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
Aucun constructeur n'a pu prendre le type de source, ou la résolution de la surcharge du constructeur était ambiguë

mercredi 30 mai 2007 à 17:32:15 | Re : pb conversion CString string pour affichage ds combobox

Loki6

Membre Club
quand tu fais clic droit sur le type string, atteindre la définition t'as quoi comme définition ?

Loki
mercredi 30 mai 2007 à 17:36:50 | Re : pb conversion CString string pour affichage ds combobox

Loki6

Membre Club
dans les propriétés de ton projet, onglets  propriétés de configuration | C/C++ | Langage tu as une ligne :

Traitement de wchar_t en tant que type intégré       OUI/NON   Si c'est à oui mets NON et recompile pour voir

Loki
mercredi 30 mai 2007 à 17:37:49 | Re : pb conversion CString string pour affichage ds combobox

phenix6942

j ai deux definitions :

typedef basic_string<char, char_traits<char>, allocator<char> >
string;
typedef basic_string<wchar_t, char_traits<wchar_t>,
allocator<wchar_t> > wstring;

mercredi 30 mai 2007 à 17:45:10 | Re : pb conversion CString string pour affichage ds combobox

phenix6942

j'ai fais le changement dans les propriétés.
j'ai encore une erreur :

c:\documents and settings\hp_propriétaire\bureau\itracking3\itracking\dialprofil.cpp(117) : error C2440: 'initialisation' : impossible de convertir de 'unsigned short *' en 'std::basic_string<_Elem,_Traits,_Ax>'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
Aucun constructeur n'a pu prendre le type de source, ou la résolution de la surcharge du constructeur était ambiguë

mercredi 30 mai 2007 à 17:52:35 | Re : pb conversion CString string pour affichage ds combobox

Loki6

Membre Club
roooooh, essaie d'utiliser la fonction WideCharToMultiByte cf. MSDN pour transformer la chaine issue de GetBuffer de wchar en char car apparemment le problème est là.
annule également la manip dans les propriétés, pour revenir à l'erreur précédente.
sinon si ça ne te dérange pas outre mesure, tu peux aussi travailler en unicode, en créant un wstring au lieu d'un string comme ceci :

CString szNomPrenom;
wstring NomPrenom = szNomPrenom.GetBuffer();


Loki


Cette discussion est classée dans : string, conversion, include, std, cstring


Répondre à ce message

Sujets en rapport avec ce message

Probleme EDL (VC++7) [ par vecchio56 ] Bonjour J'ai deux problèmes d'edition de liens: Dialog.obj : error LNK2001: symbole externe non résolu "public: void __thiscall std::_String_base::_X conversion de flottant en string [ par biduletrucmachin ] Bonjour j'essaie en vain d'utiliser la fonction sscanf pour convertir une des données flottantes en string. Est ce que quelqu'un connait la syntaxe ex La class string [ par jderf ] Je suis débutant et je teste la class string. Voici un code tous simple, mais y'a un probleme de conversion à la compil que je ne comprend pas. Les er Set transform C++ [ par ffenforce10 ] Bonjour, Voilà, j'ai un petit problème avec la fonction transform pour appliquer un foncteur... Mon code complilait lorsque j'utilisait un vecteur, m Compiler un programme écrit en C++ utilisant une bibliothèque C. Erreurs... [ par Virus721 ] Bonjour tout le monde ! :) Voila j'essaye de me coder un petit jeu avec la bibliothèque SDL 1.2 et l'aide du site du zéro. J'essaye autant que possib conversion d'un long en CString [ par ykavok ] bonjour.si quelqu'un pouvait m'aider ca serai vraiment super sympas .... ca fais deux jours que je me prend la tete pour convertir un long en cstring. Conversion d'un vecteur en chaine String [ par 972apprenti ] Bonjour, j'ai creer un code C++ qui me permet de lire un fichier en utilisant un vecteur, le probleme c'est que je voudrais convertir ce vecteur en un erreur std::operator [ par chalmia2s ] Bonjour,je fais un code sur visual c++ et j'obient 180 erreur!!!!!!!!!!!!!!! du genre: pour le code: std::string str;std::string nom="";std::string Récupérer des valeurs depuis un fichier text [ par sokpassy85 ] Bonjour, Je souhaite récupérer des mesures contenues dans un fichier texte. J'ai fait ce bout de programme pour la récupération et l'affichage des val HELP - - getline string char conversion de types?? [ par gregroar ] //je teste dans une console la fonction getline, que je trouve suffisament rapide. //cependant je me retrouve confronté à des problemes de conversion


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales