Propre façon de convertir QString char * (non const char* !!!!)

J'ai une vilaine code pour ce genre de choses (créer un pointeur de char du c et de copier le QString) mais peut-être ... existent dans QT est une manière élégante ...

code :

QString maquina is a method parameter.

char *c_maquina = new char[maquina.length() + 1];
strcpy(c_maquina, maquina.toStdString().c_str());

juste pour information j'ai besoin d'un VRAI char* et non un simple const char* donc, ce code ne fonctionne pas :

idMaquina.toLatin1().data();

Je ne peux pas utiliser http://developer.qt.nokia.com/faq/answer/how_can_i_convert_a_qstring_to_char_and_vice_versa

"Je ne peux pas utiliser le lien" -- pourquoi est-ce que le lien n'est pas utilisable? Vous devez être plus clair. Expliquer non seulement le problème avec votre plan (obtenir une char* à partir d'un QString), mais ce qui vous a amené à penser que vous besoin.
Yakk, je ne peux pas utiliser convertir comme expliquer dans le lien parce que c'est une conversion entre un QString et un char* (sans possibilité de remplacer le char*).j'ai besoin d'un char* avec posible remplacer, je l'espère, un QString fonction pour cette... merci pour votre commentaire.
Je ne sais toujours pas pourquoi vous ne pouvez pas utiliser liés solution. Le problème est que l'exemple de code utilise const char* et pas char*? .data() renvoie une char*. En outre, qu'espérez-vous faire avec l'écriture char*?
parce que mon code appel d'une bibliothèque c et la réponse est vide lors de l'utilisation d'un const char* ou lors de l'utilisation d'un .de données() directement, comme l'exemple de la liaison.je ne peux pas modifier le code de la bibliothèque c (interne au système du client....)
et ce qui ne le C de la bibliothèque avec la char*? Tout simplement "faire une char*" de ne pas répondre à votre problème. Espérez-vous obtenir les données de la fonction C? N'y a aucune façon de savoir comment long les données qu'il va vous donner de l'est? Veuillez fournir la signature de la fonction que vous essayez d'appeler.

OriginalL'auteur Gilles Grandguillaume | 2013-07-29