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

MFC Discussion :

Problème avec des CString et char*


Sujet :

MFC

Vue hybride

sbleuze Problème avec des CString et... 24/06/2007, 16h23
Laurent Gomila C'est vraiment bourrin comme... 24/06/2007, 16h31
farscape +1:D la seule solution c'est... 25/06/2007, 08h26
sbleuze Problème avec des CString et... 26/06/2007, 18h37
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Par défaut Problème avec des CString et char*
    J'ai un programme qui mélange des CString et des char*. Je ne peut pas trop modifier cela.

    J'ai une fonction qui ressemble à cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    fonction t()
    {
       char* texte = null;
       ...
       u(&texte)
       ...
    }
     
    fonction u(char** test)
    {
       ...
       CString strTexte = "toto"
       *test = strTexte.GetBuffer(strTexte.GetLength());
       ...
    }
    En sortire de la fonction u, test n'a plus de valeur.
    Ceci est un peu schématicé.
    Mais c'est bête, je n'ai pas de solution à mon problème.

    Quelqu'un pourrai me donner une solution à mon problème

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    C'est vraiment bourrin comme code. Ca n'a aucune chance de marcher comme ça, puisque *test (et donc texte) va pointer sur le buffer interne de strTexte, qui sera détruit dès la fin de la fonction.

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par Laurent Gomila
    C'est vraiment bourrin comme code. Ca n'a aucune chance de marcher comme ça, puisque *test (et donc texte) va pointer sur le buffer interne de strTexte, qui sera détruit dès la fin de la fonction.
    +1
    la seule solution c'est d'allouer une chaine ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fonction u(char** test)
    {
       ...
       CString strTexte = "toto"
       *test = new char [strTexte.GetLength()+1];
       strcpy(*test,strTexte);
    }
    il faudra bien sûr libérer la mémoire après usage..
    il aurait été quand même plus simple d'utiliser une référence sur une CString.
    le mélange char * ,objet string n'est pas des plus heureux ...

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Par défaut Problème avec des CString et char*
    Merci pour l'aide, c'est tout simple et cela fonctionne parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme de pointeur avec des pointeurs de char *
    Par marime dans le forum Débuter
    Réponses: 4
    Dernier message: 30/09/2013, 13h14
  2. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  3. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  4. [STRUTS] Problème avec des ActionForm
    Par zarbydigital dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/03/2004, 13h49
  5. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26

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