Bonjour,

J'ai un problème de conversion de String en Const char* et je ne trouve pas la solution.

Donc dans une fonction, j'ai un String nommé originalName, je voudrais le convertir en const char* pour le transmettre à une fonction setName. Je fais donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
const char* name = originalName.c_str();
object.body->getNxActor()->setName( name );
J'ai tester aussi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
const char* name = originalName.data();
object.body->getNxActor()->setName( name );
Si juste après le setName, je fais un getName pour l'afficher:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::cout << object.body->getNxActor()->getName() << std::endl;
il m'affiche correctement le nom de l'objet.
Par contre si je sort de ma fonction et que je l'appel par un autre moyen,
il m'affiche des sigles bizarres.

Le problème, c'est que si je mets en dur le nom :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
object.body->getNxActor()->setName( "test" );
ca marche impeccable. Donc j'imagine que je construit pas correctement mon const char* ? Ou que j'ai un problème de pointeur ? Je sais pas trop.

Je bloque si quelqu'un pouvait m'aiguiller s'il vous plait.
Merci.