Conversion string en const char *

Signaler
Messages postés
59
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour j'ai un problème dans mon code :
error C2664: 'C843_GcsGetAnswer' : impossible de convertir le paramètre 2 de 'std::string' en 'char *'

Voici mon code :
    string answer;
    const unsigned int bufSize = 255;

  // ret = GetSerialAnswer(port_.c_str(), "\n", answer); c'est ce qu'il y avait avant et je dois le remplacer par ce qui suit en rose
   ret = C843_GcsGetAnswer(ID, answer, bufSize);
   if (ret != DEVICE_OK)
   {
      // "#5" failed, maybe controller does not support this
      // clear error with two "ERR?"
      GetError();
      GetError();
      checkIsMoving_ = false;
      return false;
   }

   long isMoving;
   if (!GetValue(answer, isMoving))
      return false;

   return (isMoving != 0);
}

Bien à vous...

3 réponses

Messages postés
59
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2008

Petit truc à rajouter

GetValue(string& sMessage, double& dval)

Bien à vous...
Messages postés
14884
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
30 novembre 2020
93
Hello,
Pour convertir une string en char *, il faut utiliser la fonction string.data():

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
La méthode data retourne un const char *.

De plus, j'imagine que sa fonction écrit dans le buffer passé en argument et elle demande un char *. À moins de modifier la fonction, je ne vois pas comment utiliser les string ici.

C++ (@++)<!--