IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

String^ => std::string que choisir ?


Sujet :

C++/CLI

  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2006
    Messages
    126
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 126
    Par d�faut String^ => std::string que choisir ?
    Bonjour,

    En cherchant dans la FAQ/tuto, Nico-pyright(c) donne une fa�on de convertir une System::String^ en std::string:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    std::string convertStringToStlString (String ^ chaine) 
    {
    	char * chaineChar;
    	pin_ptr<const wchar_t> wch = PtrToStringChars(chaine);
    	int taille = (chaine->Length+1) * 2;
    	chaineChar = new char[taille];
    	int t = WideCharToMultiByte(CP_ACP, 0, wch, taille, NULL, 0, NULL, NULL); 
    	WideCharToMultiByte(CP_ACP, 0, wch, taille, chaineChar, t, NULL, NULL); 
    	std::string chaineSTL = chaineChar;
    	delete chaineChar;
    	return chaineSTL;
    }
    ailleurs, j'ai trouv� la m�thode :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <windows.h>
    #include <atlstr.h>
    ...
    std::string convertStringToStlString (String ^ chaine) 
    {
    	CString cChaine(chaine);
    	std::string stlChaine(cChaine);
    	return stlChaine;
    }
    Je voulais savoir s'il y avait une diff�rence et si oui, y a-t-il des avantages/inconv�nients � l'une ou l'autre ?

    Ou encore s'il y a d'autres fa�ons plus optimales pour effectuer cette conversion.

    Merci

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    La seconde m�thode utilise MFC (ou ATL) en plus de .Net, et n'est donc disponible que dans une version payante de Visual Studio.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2006
    Messages
    126
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 126
    Par d�faut
    D'accord, je te remercie.

Discussions similaires

  1. Cast std::string to System::String
    Par breezer911 dans le forum C++/CLI
    R�ponses: 3
    Dernier message: 04/04/2007, 22h18
  2. Cast std::string to System::String
    Par breezer911 dans le forum Visual C++
    R�ponses: 4
    Dernier message: 04/04/2007, 19h05
  3. conversion std::string en std::istringstream
    Par flipper203 dans le forum SL & STL
    R�ponses: 3
    Dernier message: 06/07/2006, 18h34
  4. cannot convert 'std::string' to 'System::String ^'
    Par broadhead dans le forum MFC
    R�ponses: 1
    Dernier message: 14/06/2005, 11h37
  5. std::string, operator =
    Par tut dans le forum SL & STL
    R�ponses: 10
    Dernier message: 05/11/2004, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo