-
[win32] string ?
Bonjour,
j'ai pas trouver de forum win32 alors je demande ici, j'essaie de déclarer un String dans une appli win32 et pas moyen.
j'ai mis #include <string>
et je déclare comme ça: String *str;
j'ai toujours cette erreur: absence de ; avant *
j'en déduis que mon include ne fonctionne pas pourtant dans un projet c++ ça fonctionne.
Quelqu'un peut m'éclairer sur le problème?
merci.
-
String avec une majuscule, c'est la chaine de caractères du framework.net
string sans majuscule, c'est la chaine de caractères de la STL
tu veux utiliser laquelle ?
celle qui va avec #include <string>, c'est la string sans majuscule
-
je pensais être réconcilier avec les string mais là tu me remets le doute.
Dans un projet précédent j'ai fais #include<string> et String *str; ça fonctionnait alors que d'après ce que tu dis ça n'aurait pas dû.
Maintenant ce que je voulais c'est utilisais le même type de string que j'ai utilisé précedemment.
j'ai remplacé String par string dans mon exemple mais j'ai la même erreur.
J'ai l'impression que le include ne lui va pas.
edit: je veux bien utiliser le string du STL, je suis pas difficile.
-
c'est un projet .Net ? tu utilises quel Visual C++ ?
T'avais pas un using namespace System qui trainait quelque part ?
Pour utiliser les string de la stl, c'est par là http://c.developpez.com/faq/cpp/?page=strings
-
j'utilise VS 2003 .net je n'ai pas de using namespace.
c'est un ancien projet de moteur de recherche qui a un problème de fuite mémoire et que j'ai envie de régler.
-
pourquoi ne fait-tu pas de using namespace ? un petit
Code:
using namespace System;
-
il faut aussi savoir si ton projet utilise les extensions managées et dans ce cas, il est interessant d'utiliser les String .net
Si ce n'est pas le cas, il te faudra alors te tourner vers les string de la stl
-
j'ai réussi à déclarer un std::string mais pour le cast en char* ça pose problème: j'ai des fonctions style WRITEFILE qui attendent du char*, des LPSTR etc et le cast LPSTR(ma_variable) ne fonctionne pas.
Pour le using namespace::system;
j'ai toujours l'erreur de mes premiers messages.
-
il faut utiliser .c_str() , dans les questions suivantes du premier lien http://c.developpez.com/faq/cpp/?pag...TRINGS_to_char
-
c'est cool merci.
Je devrais m'en sortir.