Partage
  • Partager sur Facebook
  • Partager sur Twitter

La classe QString

Récupérer le pointeur char*

Sujet résolu
    22 octobre 2008 à 17:22:03

    Bonjour. :)
    J'ai beau cherché dans la doc de QString, j'ai pas trouvé ce que je cherche, en fait je veux récupérer le pointeur char* du tableau stocké dans QString mais je trouve pas la méthode concerné.
    Dans la doc de QString j'ai trouvé cette méthode :
    QChar * QString::data ()
    

    Mais comme vous voyer la fonction retourne un QChar* et non un char*.

    Alors n'y a t-il pas quelqu'un qui a déjà essayé ça et qui pourrait m'aider ? :euh:

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      22 octobre 2008 à 17:24:55

      essaye avec std::string toStdString () cons ;)
      Au pitre, essaye de caster le QChar* en char*
      • Partager sur Facebook
      • Partager sur Twitter
        22 octobre 2008 à 18:17:47

        Dans la classe QChar, il y a deux fonctions qui retourne char : toAscii() et toLatin1().
        Il te reste à créer un tableau de char en récupérant la longueur de ta chaîne QString et puis à faire une petite boucle for avec cette longueur. :p

        Du genre :

        QString maChaineQString = "bonjour";
        char *maChaineChar = new char[maChaineQString.length()+1];
        
        for (int i = 0; i < maChaineQString.length(); i++)
             maChaineChar[i] = maChaineQString.data()[i].toAscii();//ou toLatin1()
        
        maChaineChar[maChaineQString.length()] = '\0';
        


        Bonne fin de journée ! :)
        • Partager sur Facebook
        • Partager sur Twitter
        Le premier et meilleur outil de l'Homme reste encore et toujours son cerveau.
          22 octobre 2008 à 19:10:08

          Ou Str.toStdString().c_str()
          • Partager sur Facebook
          • Partager sur Twitter
            22 octobre 2008 à 22:28:17

            Bonjour. :)
            Merci pour vos réponse, j'ai essayé la méthode QString::toStdString() const qui renvoie un std::string (je l'ai pas vu que j'ai consulté la doc :D ) et puis j'ai utilisé la méthode std::string.c_str() , et ça marche très bien.
            J'ai aussi essayé aussi de caster le QChar* en char* et ça fonctionne bien aussi. (c'est cool :p )

            Pour ta suggestion Julien Livet, je l'ai pas essayé, mais ça a l'air de bien fonctionner aussi.

            Merci à vous. :)
            • Partager sur Facebook
            • Partager sur Twitter

            La classe QString

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown