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 :

Visual C++ Embedded - Chaines de caractères


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut Visual C++ Embedded - Chaines de caractères
    Bonjour,

    Je ne sais si c'est ici que je dois mettre mes messages sur cette techno mais je n'ai pas vraiment trouvé le lieux approprié ... J espère donc que qqn pourra déplacer mon message s'il le faut.

    Voilà, j ai un programme qu il faut que je passe de VC++ à eVC++.
    Mais j ai un souci car eVC ne reconnait pas certaines bibliothèques classiques de VC++. Par exemple à la compile, il me gigle dès que j'utilise :
    - AppendChar
    - Trim

    J'ai des souci aussi avec
    - MakeUpper
    - Format

    Quelqu un serait il où je pourrai trouver des équivalents ???

    Merci d avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    Personne pour me renseigner ?
    Est ce le forum le mieux adapté ?

  3. #3
    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,
    essaye d'être plus précis ...
    AppendChar connait pas, c'est quoi une méthode quelle classe ? une fonction ?
    Trim pareil ...
    J'ai des souci aussi avec
    - MakeUpper
    - Format
    ne nous renseigne pas vraiment sur le probléme...
    il ne faut pas s'étonner si personne ne se donne la peine de répondre..

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    Désolée .. .

    Bon en fait les méthodes énoncées ci-dessus sont des méthodes de la classe CString.
    Sous VC++ ou eVC++, j'ai un code du genre :
    strTmp2.Format("%d",VDE_);
    Avec strTmp2 de type CString
    VDE_ un int.

    Mais sous eVC++ il me sort l'erreur suivante :
    cdecl CString::Format(const unsigned short *,...)' : cannot convert parameter 1 from 'char [3]' to 'const unsigned short *'

    Pourtant quand je tape la ligne, l'aide contextuelle me donne bien les même types d'arguments pour la fonction que l'on soit sur eVC++ ou VC++.
    Je ne comprends pas pourquoi cette erreur ...

  5. #5
    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
    sous evc tu es en Unicode de base ,tu dois donc utiliser la macro appropriée (_T("")) pour spécifier les chaines de caractéres...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strTmp2.Format(_T("%d"),VDE_);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    Bon alors je m'en suis sortie avec Format ...
    En fait sous eVC++, il faut mettre des simple quote au lieux des doubles ... Et ça passe (tout du moins à la compil j ai plus d erreur !).
    J'ai vu ton message après FarScape ... Effectivement ta méthode fonctionne. Merci beaucoup

    Par contre, j'ai toujours un souci avec strCmp. Enfin avec les paramètres que j'ai dans cette fonction. En effet, strcmp est défini ainsi :
    int __cdecl strcmp(const char *, const char *);
    Or dans mon code en VC++, mon second paramètre qui est un CString ne pause pas de pb lors de la compilation malgré la définition alors qu en eVC j'ai une erreur :
    error C2664: 'strcmp' : cannot convert parameter 2 from 'class CString' to 'const char *'
    Merci d avance

  7. #7
    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
    je crois que tu n'as pas compris ce que j'ai dis ....
    Bon alors je m'en suis sortie avec Format ...
    En fait sous eVC++, il faut mettre des simple quote au lieux des doubles ... Et ça passe (tout du moins à la compil j ai plus d erreur !).
    ce que tu dis est faux !
    comme je le répète (trop) souvent ces derniers temps : ce n'est pas parce que ça compile que ça va fonctionner !
    tu es en UNICODE oublie char * .
    utilise les macros appropriées sinon c'est le mur assuré..
    http://msdn2.microsoft.com/en-us/library/c426s321(vs.71).aspx

    alors je modifie mon message ,évite d'utiliser les fonctions C de la CRT (stncmp et compagnie) ,privilégie l'objet CString (ça t'éviteras bien des problèmes) sinon il va falloir que tu utilises les versions UNICODE de ces fonctions.
    consulte MSDN.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/12/2010, 19h03
  2. Réponses: 2
    Dernier message: 08/12/2010, 18h57
  3. Réponses: 8
    Dernier message: 03/12/2010, 01h32
  4. Réponses: 4
    Dernier message: 08/09/2006, 09h41
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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