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++ Discussion :

comment convertir un System::String (ou String *) en char *?


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    134
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 134
    Par d�faut comment convertir un System::String (ou String *) en char *?
    bonjour tout le monde,

    je pense que le titre est suffisement explicit pour ne pas pas d�tailler ce que je cherche � faire.

    je cherche une personne pouvant m'aiguiller sur la facon de crere une fonction me permettant d'obtenir cette conversion. voir meme si quelqu'un connais une m�thode permettant de r�aliser cette manipulation.

    merci d'avance.

  2. #2
    Membre �prouv� Avatar de Blowih
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 122
    Par d�faut
    salut,
    s'il sagi de std::string:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    std::string st="toto";
    st.c_str();
    tu peux aussi faire un recherche ou voir la FAQ, �a aide

  3. #3
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    134
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 134
    Par d�faut
    en fait je ne sais pas si c'est un std. mais ce que je peux dire c'est que cette string est r�cup�r�e sur un textBox en visualStudio .net.

    et comme j'ai pas le prog avec moi je ne peux pas consulter la msdn pour avoir plus de d�tails.

  4. #4
    Membre �prouv� Avatar de Blowih
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 122
    Par d�faut
    string est r�cup�r�e sur un textBox en visualStudio .net.
    je pense que ce n'est pas un std::string, mai plutot un CString des MFC,
    si c'est le cas va sur le forum Visual C++

  5. #5
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    134
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 134
    Par d�faut
    En fait le String que je souhaite convertir en char * est un System::String

  6. #6
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

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

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    http://msdn2.microsoft.com/en-us/library/ms235631.aspx
    http://support.microsoft.com/default.aspx?scid=kb;en-us;311259
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  7. #7
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    J'ai comme l'impr�ssion que c'est le String du Framwork .Net ?
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  8. #8
    Membre �m�rite Avatar de reggae
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    773
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 773
    Par d�faut
    J'en ai aussi l'impression...

  9. #9
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

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

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Sauf que cette conversation a eu lieu en juin 2005, donc avant la sortie du C++/CLI (VC++8.0, novembre 2005) qui change pas mal de choses sur l'interface C++ / C++/CLI.

    Qu'est-ce qui ne va pas dans les liens que j'ai fournis ?
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  10. #10
    Membre �m�rite Avatar de reggae
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    773
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 773
    Par d�faut
    Rien rien, il sont tout � fait adapt�!

  11. #11
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    134
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 134
    Par d�faut
    c'est bon, j'ai trouv� r�ponse a mon probl�me au travers de cette instruction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    char * adresseIP = (char*)(void*)Marshal::StringToHGlobalAnsi(textBox_IP->Text);

  12. #12
    Membre �clair� Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par d�faut
    Pourquoi ce genre de solution ne m'�tonne pas d'une bib made by Microsoft ?

    Pense a cocher ton message comme r�solu

  13. #13
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

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

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Et bien, moi, elle m'�tonne, puisque la proposition officielle de Microsoft est :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        String ^orig = gcnew String("Hello, World!");
     
        pin_ptr<const wchar_t> wch = PtrToStringChars(orig);
     
        // Convert to a char*
        size_t origsize = wcslen(wch) + 1;
        const size_t newsize = 100;
        size_t convertedChars = 0;
        char nstring[newsize];
        wcstombs_s(&convertedChars, nstring, origsize, wch, _TRUNCATE);
        strcat_s(nstring, " (char *)");
        cout << nstring << endl;
    Alors que sa solution alloue de la m�moire de mani�re non standard... Et demande donc une d�sallocation non standard...

    A noter que pour convertir en wstring (qui est le type naturel d'une telle convertion en C++), c'est plus simple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
        String ^orig = gcnew String("Hello, World!");
        pin_ptr<const wchar_t> wch = PtrToStringChars(orig);    
        wstring basicstring(wch);
    Mais bon, pour ce faire, il aurait fallu lire la doc...
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. comment convertir un objet URL en String ?
    Par _LittleFlea_ dans le forum Langage
    R�ponses: 3
    Dernier message: 19/10/2009, 16h16
  2. Comment convertir du XML dans un String -> DataSet
    Par jimbolelephan dans le forum C#
    R�ponses: 2
    Dernier message: 12/06/2008, 15h28
  3. R�ponses: 9
    Dernier message: 31/05/2006, 17h11
  4. R�ponses: 10
    Dernier message: 04/05/2006, 23h55
  5. Comment convertir de l'hexadecimale au string ASCII ?
    Par Battosaiii dans le forum Algorithmes et structures de donn�es
    R�ponses: 1
    Dernier message: 17/03/2006, 19h04

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