CString Bizarre !!

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    ¤
    1. 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");