IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

convertir char* en CString


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut convertir char* en CString
    bonjour à tous,

    je dois afficher un char * dans ma CMainFrame à l'aide de la fonction TEXTOUT(int,int,CString).

    donc il me faut absolument convertir le char * en CString, j'ai fait plusieurs recherches sur le net sans trouver de réponse.

    N.B: s'il y'a une autre fct° qui fait gère cet affichage et qui prend un char* en paramètre, je vous remercierai de me tenir au courant.

    Merci pour toute aide.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    il suffit de regarder la définition de la classe CString....
    Citation Envoyé par MSDN
    CString( const CString& stringSrc );
    throw( CMemoryException );
    CString( TCHAR ch, int nRepeat = 1 );
    throw( CMemoryException );
    CString( LPCTSTR lpch, int nLength );
    throw( CMemoryException );
    CString( const unsigned char* psz );
    throw( CMemoryException );
    CString( LPCWSTR lpsz );
    throw( CMemoryException );
    CString( LPCSTR lpsz );
    throw( CMemoryException );
    il te suffit donc de construire la CString en passant ta chaine en argument
    avec une longueur si celle-ci ne se termine pas un \0.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CString str(mychaine);
    // ou
    CString str(mychaine,mylen);
    // ou directement etc..
    CString(mychaine);

  3. #3
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    TextOut() prend un CString ou un LPCTSTR (const TCHAR * ou const char * si tu n'es pas en UNICODE) au choix.
    Donc pas besoin de recourir à un CString ...

    @+

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par stephdim Voir le message
    TextOut() prend un CString ou un LPCTSTR (const TCHAR * ou const char * si tu n'es pas en UNICODE) au choix.
    Donc pas besoin de recourir à un CString ...

    @+
    petite correction, LPCTSTR, c'est toujours un const TCHAR*

    là où la définition de la macro _UNICODE joue est sur la macro TCHAR en elle meme.

    donc si UNICODE, ca devient const wchar_t*,
    sinon, ca devient const char*

  5. #5
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    petite correction, LPCTSTR, c'est toujours un const TCHAR*

    là où la définition de la macro _UNICODE joue est sur la macro TCHAR en elle meme.

    donc si UNICODE, ca devient const wchar_t*,
    sinon, ca devient const char*
    Ben c'est pas ce que j'ai dis ?

    LPCTSTR = const TCHAR * = const char * si _UNICODE n'est pas défini

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par stephdim Voir le message
    Ben c'est pas ce que j'ai dis ?
    c'etait mal dit alors.

    voici ta phrase :
    LPCTSTR (const TCHAR * ou const char * si tu n'es pas en UNICODE)
    comme je le comprends, tu dis que ca devient soit const TCHAR*, soit const char*. or si c'est ca, c'est faux.
    c'est soit const wchar_t*, soit const char*.

    (on est d'accord cependant sur le fait que si _UNICODE n'est pas défini, on retombe bien sur une chaine de caractères à 8 bits (char). là ou je contestais, c'etait justement sur le comportement dans le cas où _UNICODE est défini.

Discussions similaires

  1. Conversion d'un char* en CString
    Par jeffMartin dans le forum Visual C++
    Réponses: 1
    Dernier message: 04/02/2008, 17h37
  2. Convertir Char* en String
    Par Blunt dans le forum C++/CLI
    Réponses: 1
    Dernier message: 01/07/2007, 16h46
  3. Convertir char* en string
    Par KorTeX22 dans le forum C++
    Réponses: 5
    Dernier message: 13/03/2007, 11h54
  4. Comparer 2 Char / Convertir Char -> Int
    Par mbk-w dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/06/2006, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo