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

Visual C++ Discussion :

[visual c++ 6] Unicode vs. MBC


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Inscrit en
    Mai 2006
    Messages
    212
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Par d�faut [visual c++ 6] Unicode vs. MBC
    Bonjour tout le monde,

    Je voudrais conna�tre la diff�rence entre Unicode et Multibyte et comment d�cider si on va travailler avec l'un ou l'autre.

    Est ce que l'utilisation de la macro _T dans un projet implique que ce projet supporte l'unicode?


    Merci d'avance.

  2. #2
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    63
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Par d�faut
    La macro _T sert justement � ce que tu puisses compiler en unicode ou non

    Une chaine _T("coucou") correspondra � "coucou" sans unicode et � L"coucou" avec unicode.

  3. #3
    Membre confirm�
    Inscrit en
    Mai 2006
    Messages
    212
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Par d�faut
    J'ai pas compris

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    J'avais commenc� un super post, puis j'ai b�tement appuy� sur Ctrl-R au lieu de Shift-R.
    En bref:
    • Mode normal: TCHAR=char, LPCTSTR=const char*, _T("coucou") = "coucou".
    • Mode unicode: TCHAR=wchar_t, LPCWSTR=const wchar_t*, _T("coucou")= L"coucou".

    Utiliser la macro _T() dans un projet est une des choses � faire si l'on veut que son projet compile dans les deux modes.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirm�
    Inscrit en
    Mai 2006
    Messages
    212
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Par d�faut
    Merci, c'est tr�s clair.

    Mais pq la distinction entre les 2 modes?

    Pour rendre un projet compatible avec les 2 modes en compilation, qu'est qu'il faut rajouter � part la macro _T?

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Il faut utiliser les fonctions utilisant des TCHAR en toutes circonstances : Utiliser _tmain() au lieu de main() ou wmain(), utiliser les fonctions de <tchar.h> (ex: _tcslen() au lieu de strlen()), etc.

    Et pour les cas o� tu veux explicitement travailler avec des char ou des wchar_t, utiliser explicitement la fonction Win32 correspondante (exemple: MessageBoxA() ou MessageBoxW() au lieu de MessageBox()...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Passage de MBCS � Unicode
    Par jcloupgarou dans le forum C++
    R�ponses: 4
    Dernier message: 20/09/2011, 11h55
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum D�bats sur le d�veloppement - Le Best Of
    R�ponses: 75
    Dernier message: 30/03/2009, 20h09
  3. Conversion MBCS vers UNICODE
    Par stephdim dans le forum MFC
    R�ponses: 3
    Dernier message: 02/03/2009, 15h27
  4. [MFC]Unicode en visual c++ 7.0 erreur linkage
    Par kinhelios dans le forum Visual C++
    R�ponses: 1
    Dernier message: 10/01/2007, 15h13
  5. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    R�ponses: 12
    Dernier message: 18/11/2004, 16h15

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