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 :

probl�me de comparaison de chaine de caract�re


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut probl�me de comparaison de chaine de caract�re
    Bonjour,

    J'ai une variable de type string qui poss�de une valeur string

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    System::String *flip = Convert::ToString(tr->GetAttribute("UVflip"));
    (ici flip=True)

    j'essaye �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if(flip=="True")
    MessageBox::Show("prout");
    mais l'appli ne passe pas dans le if...quelqu'un sait-il pourquoi ?

  2. #2
    Membre �m�rite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    F�vrier 2004
    Messages
    644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Consultant ERP

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 644
    Par d�faut
    normal, tu compares un pointeur � "True". tu devrais faire ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (*flip == "True") {
        MessageBox::Show("prout");
    }
    Par contre, pourquoi emplois-tu des pointeurs ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    si je met pas le "*" �a me fait des erreurs (pour infos je suis sur VC++.net)

    error C2262: 'flip' : cannot be destroyed
    error C2664: 'System::String::String(const __wchar_t *)' : cannot convert parameter 1 from 'System::String __gc *' to 'const __wchar_t *'
    error C3149: 'System::String' : illegal use of managed type 'System::String'; did you forget a '*'?
    error C2676: binary '==' : 'System::String' does not define this operator or a conversion to a type acceptable to the predefined
    error C3861: 'flip': identifier not found, even with argument-dependent lookup


    avec ce que tu m'as propos� au dessus j'obtient �galement des erreurs :

    error C2664: 'System::String::op_Equality' : cannot convert parameter 1 from 'System::String' to 'System::String __gc *'
    error C2676: binary '==' : 'System::String' does not define this operator or a conversion to a type acceptable to the predefined operator

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    Pourquoi system::string et pas std::string?

    Quelle est la diff�rence?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    aucune id�e sur la diff�rence....

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 47
    Par d�faut
    La diff�rence est la suivante :

    System::string, c'est un objet de la collection .NET donc tu utilises forc�ment un projet C++ Manag� pour que �a compile (tu dois avoir un #using <mscorlib.dll> si je me souviens bien)

    alors que std::string est la chaine de caract�re standard du c++ (STL)

  7. #7
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    Merci de ces pr�cisions.

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 96
    Par d�faut
    sinon quelqu'un aurait une solution pour mon probl�me ?

  9. #9
    Membre �prouv� Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par d�faut
    Citation Envoy� par swirtel
    normal, tu compares un pointeur � "True". tu devrais faire ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (*flip == "True") {
        MessageBox::Show("prout");
    }
    Par contre, pourquoi emplois-tu des pointeurs ?
    As tu essay� ca ? ca semble bien

  10. #10
    Membre �m�rite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    F�vrier 2004
    Messages
    644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Consultant ERP

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 644
    Par d�faut
    Je r�p�te une seconde fois ma question, pour quelle raison emplois-tu un pointeur ?

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 47
    Par d�faut
    �a vient du fait qu'il utilise une collection .NET...
    c'est la seule solution pour utiliser la collection .NET en C++ manag�...
    �a doit venir du fait que la collection est cross langage (p � � cause de m�canisme de garbage collector ou autre).

    toujours est-il que ce n'est pas du C++ standard, ni une librairie standard.

    dans un premier temps, je conseillerais � Dylan de ne pas se rajouter des difficult�s avec le .NET...

  12. #12
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    C++/CLI n'est pas C++.
    S'il s'agit bien de C++/CLI, un autre forum serait peut-�tre plus appropri�.

Discussions similaires

  1. probl�me de comparaison deux chaines de caract�res
    Par jean sami dans le forum D�buter
    R�ponses: 2
    Dernier message: 15/06/2008, 23h47
  2. Probl�me de comparaison de chaines de caract�res
    Par nicolas2603 dans le forum VBA Access
    R�ponses: 4
    Dernier message: 12/03/2008, 14h04
  3. Probl�me avec comparaison de chaines de caract�res
    Par nemesis00 dans le forum MATLAB
    R�ponses: 4
    Dernier message: 01/01/2008, 18h56
  4. R�ponses: 2
    Dernier message: 10/05/2006, 15h23
  5. R�ponses: 2
    Dernier message: 23/03/2006, 12h39

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