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 :

Au chapitre des conversions.


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 65
    Par défaut Au chapitre des conversions.
    Convertir un CString en char* et inversement

    de CString en char*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char* pmonchar=(char*)LPCTSTR(monCString);
    de char* en CString
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CString monCString(pmonchar);

  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,
    la premiere ligne est moche et dangereuse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char* pmonchar=(char*)LPCTSTR(monCString)
    moche pour l'enchainement de cast a la C qui de plus enleve le qualificatif const .
    a partir de la rien n'empeche de modifier pmonchar et de crasher l'objet CString.
    surtout que l'objet peut tres bien se relouer un autre espace memoire entre temps ,du coup ton pointeur il pointe dans le no man's land.
    si tu dois faire ça il faut utilser un pointeur constant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    const char* pmonchar=monCString;
    et l'usage doit être limité dans le temps.
    et finalement on devrait avoir de moins en moins avoir besoin d'utiliser ce genre de chose en programmation objet.


  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Citation Envoyé par farscape
    et finalement on devrait avoir de moins en moins avoir besoin d'utiliser ce genre de chose en programmation objet.
    bien d'accord
    mais le jour où microsoft se passera des char et autre LPCSTR dans son API ...

  4. #4
    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
    Citation Envoyé par nico-pyright(c)
    Citation Envoyé par farscape
    et finalement on devrait avoir de moins en moins avoir besoin d'utiliser ce genre de chose en programmation objet.
    bien d'accord
    mais le jour où microsoft se passera des char et autre LPCSTR dans son API ...
    Mais il faut s'habituer à penser que l'on peut s'en passer pour progresser ,
    et securiser son code .
    c'est comme les static_cast il faut prendre l'habitude.


  5. #5
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut Re: Au chapitre des conversions.
    Citation Envoyé par Gloubi99
    ...

    de char* en CString
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CString monCString(pmonchar);
    je rajouterai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CString monCString (pmonchar,strlen(pmonchar));

  6. #6
    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,
    tu n'est pas obligé vu que la ctring dispose d'un constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString( 
    LPCSTR lpsz );

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 65
    Par défaut
    Salut

    les deux lignes de code ont défrayé la chronique !!!!!!!!!!!!!!!!!

    j'ai bien compris que j'avais fait une grosse bétise
    coup de bol j'utilise la bonne ligne ...

    pour ma défense, je les ai trouvé sur le net !!!

    à mettre dans la FAQ en version corrigée.


  8. #8
    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
    Citation Envoyé par Gloubi99
    Salut

    les deux lignes de code ont défrayé la chronique !!!!!!!!!!!!!!!!!

    j'ai bien compris que j'avais fait une grosse bétise
    coup de bol j'utilise la bonne ligne ...
    et encore tu n'as rien vu ,j'ai vu bien pire comme défrayage de chronique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/08/2010, 17h32
  2. Enlever le numéro de chapitre des section et subsection
    Par med_alpa dans le forum Mise en forme
    Réponses: 8
    Dernier message: 14/05/2010, 01h20
  3. Désactivation des conversions implicites de types
    Par Scorpi0 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 24/03/2009, 10h28
  4. probleme des conversion en c++
    Par sabrinabest dans le forum SL & STL
    Réponses: 5
    Dernier message: 14/09/2007, 15h27
  5. Réponses: 4
    Dernier message: 24/05/2007, 10h11

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