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

VC++ .NET Discussion :

convertir un String ^ en char *


Sujet :

VC++ .NET

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    171
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 171
    Par d�faut convertir un String ^ en char *
    Bonjours

    dans mon programme j'utilise des fonctions comme fopen(..)et bien d'autre qui en comme argument un char * mais dans visual c++, les labels, boutons, et toutes composantes graphiques contient un text de type String ^, donc il faut faire une converssion mais j'est pas trouver une fonction qui le fait alors j'est essay� de le faire moi m�me :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    char *stringToChar(System::String ^ str)
    {
    	char *chaine;
    	chaine=new char[str->Length];
    	for(int i=0; i<str->Length; i++)
    	{
    		chaine[i]=(char)str[i+1];
    	}
     
    	return chaine;
    }
    ca marche toujours pas : la ligne 4

    est ce que quelqu'un peut me corriger la fonction ou a une autre solution

    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
    C'est dans la FAQ C++/CLI, je crois.
    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�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par d�faut
    Pour une fois que je peux aider

    Voil� ce que je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    String ^ tata = "c:/NomDeMonFichier"+i.ToString()+".txt";
    IntPtr	l__txt = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(tata);
    char* 	l__msg = (char *)(void *)l__txt ;	
    fopen_s(&f,l__msg,"wb");
    Il y a peut �tre plus simple maic �a �a marche

  4. #4
    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
    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.

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par d�faut
    Arf J'en ai jamais mis dans mon projet de �a...

    Le garbage machin le g�re pas?

    Est ce vraiment n�cessaire vu ce que je fais? (ce n'est pas exactement ce qu'il y a dans le tuto, je n'utilise pas .ToPointer par exemple)

    D�sol� ram-0000 pour les balises

  6. #6
    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
    Le HGLOBAL est une ressource non-manag�e, donc le GC ne le g�re pas.
    Oui, le FreeHGlobal() est vraiment n�cessaire.

    Et toi, tu n'utilises pas le ToPointer(), mais tu castes en void* (avec un cast C-style en plus), donc c'est la m�me chose.
    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.

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    171
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 171
    Par d�faut
    Bonsoir

    Merci Skarsnick, ton truc marche a merveille, tu m'a sauv�

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

Discussions similaires

  1. convertir un string en char[] � 1 dimension
    Par tortuegenie dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 15/02/2008, 14h06
  2. Convertir une string en Char* unsafe?
    Par UnSofteuxAmateur dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 06/02/2008, 17h09
  3. R�ponses: 2
    Dernier message: 25/10/2006, 18h09
  4. comment convertir un string^ en char*?
    Par chrono23 dans le forum C++/CLI
    R�ponses: 2
    Dernier message: 10/10/2006, 15h49
  5. [debutant] Comment convertir un string en char
    Par jbidou88 dans le forum AWT/Swing
    R�ponses: 7
    Dernier message: 04/05/2006, 12h58

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