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

C++ Discussion :

Conversions de chaines en pointeurs LPCSTR


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut Conversions de chaines en pointeurs LPCSTR
    Bonjour,

    Je suis perdu entre tous les types de C++.
    j'aimerais utiliser la boite de dialogue MessageBox() qui attends un parametre de type LPCSTR.
    En me renseignant, j'ai vu que c'était un pointeur de chaine (ils ne peuvent pas mettre *chaine &chaine comme tout le monde !!!).

    Selon plusieurs exemples, j'ai vu qu'on pouvait faire _T("Test") et c'etait bon...
    Seulement moi, j'aimerais pouvoir travailler cette chaine:
    char temp[10] ="";
    sprintf(temp,"%d",wmId);
    MessageBox(hWnd,_T("Info"),_T(test),MB_OK);

    Seulement, ça... Ca ne marche pas, il me met: error C2065: 'Ltemp' : undeclared identifier.

    Comment ça marche ?

  2. #2
    Membre éclairé Avatar de Seandest
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 54
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    char Temp[10];
     
    sprintf(Temp, "%d", 132546);
    MessageBox(Temp, NULL, NULL);
    Normalement là t'as pas de souci.

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Utiliser sprintf en C++, c'est pas la bonne méthode. On utilise de préférence les stringstream - comme écrit dans la FAQ - ou si on montre que c'est le goulot d'étranglement de l'appli, on envisage de le remplacer par un sprintnf.

  4. #4
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour Seandest,
    Ta méthode ne marche pas... error C2660: 'MessageBoxW' : function does not take 3 parameters
    J'utilise embedded, il n'y a pas l'air d'avoir de surchage ou quoi que ce soit !

    Bonjour Miles,
    C'est vrai que je sort du C, j'ai du prendre de mauvaises habitude...
    Peux tu me donner un exemple STP ?

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ta méthode ne marche pas... error C2660: 'MessageBoxW' : function does not take 3 parameters
    Là tu es en unicode... Si tu n'en veux pas désactive-le, sinon il faudra utiliser des types et fonctions différents dès que tu voudras manipuler les chaînes de caractères.

    C'est vrai que je sort du C, j'ai du prendre de mauvaises habitude...
    Peux tu me donner un exemple STP ?
    Tout est dans la

  6. #6
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour Laurent Gomila,

    Fiouf, Quelle rapidité dans vos réponses !!!

    Je viens de faire:
    char temp[10] = "Hello";
    MessageBox(hWnd,_T("Info"),temp,MB_OK);

    Et il me met: error C2664: 'MessageBoxW' : cannot convert parameter 3 from 'char [10]' to 'const unsigned short *'
    Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

    Je croit que je vais crier... Je suis dessus depuis plus de deux heures !!!
    Quand à la FAQ, je l'ai retourné dans tous les sens !
    En fait, je ne sais même pas dans quel type de C++ je me trouve...

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ne t'embête pas avec les types du genre LPCWSTR, ou les macros du genre _T, si tu ne travailles pas en unicode.

    MessageBox acceptera très bien ton char*.

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

Discussions similaires

  1. Conversion de type de pointeur
    Par didierl dans le forum C
    Réponses: 8
    Dernier message: 13/09/2006, 08h17
  2. [C#] Conversion de chaine
    Par Nico28 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/07/2006, 13h03
  3. conversion une chaine numérique en lettre
    Par nazimb dans le forum ASP
    Réponses: 1
    Dernier message: 20/11/2005, 17h39
  4. conversion datetime-chaine de caracteres
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/08/2005, 13h26
  5. Chaines et pointeurs mais pas "const"
    Par hpfx dans le forum C
    Réponses: 9
    Dernier message: 05/10/2003, 20h23

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