Bonjour,
J'essaye vainement de faire cela:
QSTring curProject;
..
...
printf("%s",*curProject.toAscii());
Et ca plante à chaque fois!!
Comment transforme-t-on u QSTRing en char*
merci d'avance
Bonjour,
J'essaye vainement de faire cela:
QSTring curProject;
..
...
printf("%s",*curProject.toAscii());
Et ca plante à chaque fois!!
Comment transforme-t-on u QSTRing en char*
merci d'avance
Salut,
QString::toAscii() puis constData(), par exemple (cf les autres QString::to*).
Mais j'espère que t'as une super raison pour passer par ces horreurs, parce que soit c'est pour du Qt, donc QString, soit c'est pour du C++, et c'est std::string (voire wstring), allié à cout et pas printf.
Je develope mes code (partie calcul en c ) mais à un moment donnée j'ai toujours besoin de faire la passerelle vers le C++ ou le Qt pour les interfaces.
Ok, fait gaffe au fait ton char* aura la même portée que le QByteArray, donc si tu veux le copier, pense bien à utiliser strndup...
Qu'entends tu par "porté" et strdup m'est totalement inconnu
Peut-être le scope d'une variable est un nom qui te parlera plus? Quant à strndup (et non strdup), c'est une fonction qui va dupliquer un char* sur un maximum de n caractères, man strndup (et ça marche aussi dans google man)
Partager