CString Bizarre !!

Fermé
Dave - 17 nov. 2004 à 16:31
 floydus - 17 nov. 2004 à 18:22
Bonjour,
je suis nouveau à VC++, mais je connais bien c++...
J'ai un problème avec l'utilisation de la classe CString.

J'arrive à créer un object en inscrivant directement du texte, comme ici
///////////
CString strFileName("c:\\temp\\image");
///////////
ça fonctionne mais aussitôt que j'utilise une variable, pouf rien à faire.

Le code suivant ne fonctionne pas.
//////////
char *test;
test="c:\\temp\image";
CString strFileName(test);
//////////
J'abandonne, j'ai vraiment cherché longtemps, sans succès.
Éclairez-moi !


Ceci ne fonctionne pas !
Vraiment bizarre microsoft !!!
Merci !
Dave

2 réponses

blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
17 nov. 2004 à 17:49
salut!

test est un pointeur sur char, et on ne peut pas faire test="machaine"
sauf dans ce cas:
char *test="ma chaine";

(déclaration/initialisation avec 11 caractères)

par contre, on peut faire :
strcpy(test,"machaine");  (inclure stdio.h ou string.h)

on peut faire :
CString toto;
toto="machaine";
toto=test;
très interressant aussi:
toto=toto+" se ralonge";


CString est beaucoup plus souple et facile à manipuler que char *
mais malheureusement le traitement est plus lent, prend plus de place en mémoire etc. Faut savoir ce qu'on veut.
(Je trouve que visual c++ a une documentation de base mal foutue)
bon courage
¤
0
CA NE FONCTIONNE PAS...
Ma fonction recoit un *char psz

j'ai essayé CString((LPSTR)psz)


fonctionne pas non plus...
Je vous assure^par contre que ceci donne le résultat escompté.
CString strFileName("c:\\temp\\image"); 
0