CString Bizarre !!

Dave -  
 floydus -
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

  1. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    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
  2. floydus
     
    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