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

VC++ .NET Discussion :

[C++/CLR] String Char[256]


Sujet :

VC++ .NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par d�faut [C++/CLR] String Char[256]
    Bonjour,
    Je perd patience � chercher tout seul un truc qui doit �tre tout simple:

    #define Taille (256)
    typedef struct Apdu
    {
    UCHAR data[Taille];
    unsigned short length;
    }Apdu;

    Je re�ois un R_Apdu tout frais:

    je veux le mettre en System::String^ pour l'afficher dans un label:

    String ^ Message_label;
    Message_label = "";
    Message_label += R_apdu.length.ToString();

    Quelle ligne �crire pour rajouter les data?
    Message_label += ???



    j'ai test�:
    gcnew String(R_apdu.data);
    et d'autres conversion...
    J'ai m�me perdu espoir et commencer � �crire mes data dans une fichier pour le relire en String^ mais �a commence � devenir n'importe quoi pour un truc qui doit �tre tout simple...

    Merci de votre aide

  2. #2
    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
    Je dirais ceci:
    Code C++/CLI : S�lectionner tout - Visualiser dans une fen�tre � part
    Message_label += gcnew String(R_Apdu.data, 0, R_Apdu.length);
    Avec un encodage si n�cessaire, vu que tu fais une conversion char <--> wchar_t.
    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.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par d�faut
    Merci pour ta r�ponse,
    Voil� ce que j'ai � la compil:

    error C2664: 'System::String::String(const wchar_t *,int,int)' : cannot convert parameter 1 from 'unsigned char [256]' to 'const wchar_t *'

    C'est l'erreur d'encodage dont tu parlais?

  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
    Essaie comme �a:
    Message_label += gcnew String(reinterpret_cast<char *>(R_Apdu.data), 0, R_Apdu.length);
    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�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par d�faut
    J'avais fait un truc bourrin comme �a:

    char* tempbuffer = new char[R_apdu.length+1];
    for(int i=0; i<R_apdu.length; i++)
    tempbuffer[i] = safe_cast<char>(R_apdu.data[i]);
    tempbuffer[R_apdu.length] = (char)0;
    String ^str = gcnew String(tempbuffer);
    Message_label += str;
    this->Label_Texte->Text = str;
    delete tempbuffer;
    delete str;

    Et �a me donne la m�me chose que ta ligne
    Je vais regard� car m�me si �a compile, le retour me parait �trange, apr�s l'erreur est peut �tre ailleurs...
    Je vous tiens au courant!

    Merci encore M�dinoc!

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par d�faut
    Voil� je viens de reprendre ce sujet,
    Merci M�dinoc �a marche tr�s bien

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. replaceAll(String, Char) probl�me
    Par SheikYerbouti dans le forum Langage
    R�ponses: 8
    Dernier message: 05/03/2007, 17h20
  2. R�ponses: 3
    Dernier message: 08/11/2006, 09h54
  3. R�ponses: 3
    Dernier message: 25/10/2006, 22h54
  4. map<string,char,ConvOrdre>
    Par Stany dans le forum SL & STL
    R�ponses: 6
    Dernier message: 03/05/2006, 14h30
  5. Probl�me avec fonctions et string/char
    Par vdumont dans le forum C++
    R�ponses: 6
    Dernier message: 08/04/2006, 16h54

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