Bonjour à tous,
Afin de transformer un QString en "char*", j'ai utilisé la fonction QString::data(), afin d'obtenir un "QChar*";
Cependant, il existe deux définitions de cette fonction :Quand j'appelle la fonction data, le compilateur/linker utilise la deuxième définition, et veut me renvoyer un "const QChar*", alors que c'est la première que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QChar * QString::data () const QChar * QString::data () const
Ce que je trouve débile, c'est qu'il existe une fonction :qui réalise exactement la même fonction que la deuxième définition de data().
Code : Sélectionner tout - Visualiser dans une fenêtre à part const QChar * QString::constData () const
Je voulais donc savoir qu'elle méthode je pouvais utiliser pour que mon compilateur utilise la bonne fonction data(). J'utilise le compilateur de VS 2008 express, sur XP SP2. (configure de Qt : -platform win32-MSVC2008 ).
Sinon, avez vous une meilleure méthode pour passer d'un QString à un char* ? J'ai essayé de passer par un std::string, mais ce dernier n'offre que la possibilité de récupérer un const char* . Ou alors, il faut que je recré mon char * en faisant une copie caractère par caractère de mon const char *. Mais c'est plus lourd.
Merci d'avance pour vos remarques,
G.
Partager