Pour les vecteurs, OK.
Pour les strings, c'est que tu ne programmes pas avec MFC...
Pour les vecteurs, OK.
Pour les strings, c'est que tu ne programmes pas avec MFC...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Si je travaille avec les MFC, mais je trouve les CString tellement mal fichues.
Et en plus les classes de la stl peuvent être réutilisées avec d'autres compilos ou d'autres systèmes.
ça pose aucun problème :
string s ;
CString t = s.c_str();
s = t ;
j'utilise juste les CString pour le DoDataExchange.
Comme ça j'en est fini avec les char *, les allocations et surtout les boucles for qui ne s'arrêtent pas ou il faut. J'utilise les iterator ou la fonction size().
Je vous les conseil vraiment, ça change la vie (et c'est portable à 100%)
Sauf que le s=t; ne marchera pas en unicode, et le t = s.c_str() ne marche pas non plus en unicode sous MFC 6.
Pour marcher correctement sous Windows, il faudrait une std::basic_cstring< TCHAR > plutôt qu'une std::string...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Effectivement, pour ceux qui ont besoin d'exporter leur code dans des contrées lointaines il vaut mieux utiliser basic_string<TCHAR>. Mais pour les autres string est trés bien.
Partager