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 :

conversion de char* en BYTE[]


Sujet :

VC++ .NET

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 98
    Par défaut conversion de char* en BYTE[]
    slt,je voudrais savoir comment convetir un tableau de char en tableau de byte?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const char* buffer="0010FFE000111ED"; //en hexadécimal
    BYTE* buffer_en_byte;
    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 98
    Par défaut
    bon, j'ai essayé ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void Serveur::CharToByte(const char *p ,BYTE* ByteArray, int longueur)
     {
     for (int ix = 0; ix < longueur; ix++ )
     {
      unsigned int i;
      sscanf_s(p,"%2.2x",&i);// sscanf_s(p,"%2x",&i);
       ByteArray[ix] = i;
       p+=2;
     }
    mai j'obtiens une exception:Format invalide

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 470
    Par défaut
    Pourquoi passer par un char* ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include "stdafx.h"
     
    #define byte unsigned char
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	unsigned long long start_adress = 0x10FFE000111EDl;
    	byte* startadress = reinterpret_cast<byte*>(&start_adress);
     
    	byte toto = startadress[0];
    	byte titi = startadress[1];
    	byte tata = startadress[2];
    	byte tutu = startadress[3];
    	return 0;
    }

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 98
    Par défaut
    je ne peux pas utiliser unsigned long long .En fait, j'ai une application client serveur . Le client et le serveur font un chat avec des chaines de caracteres contenant des valeurs hexadecimaux. Lorsque le client, par exemple recoit la chaine ch il la convertit en tableau de byte pour effectuer des traitements.
    bon j'ai essayé ca aussi mai je croi que ca marche pa bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    unsigned CClientApp::CharToHex(char in )
     {
    	switch(in)
    	  {
           case'0': case'1': case'2': case'3': case'4': case'5': case'6':case'7': case'8': case'9': return (in-'0');
           case'A':case'B': case'C':case'D': case'E':case'F':return(in-'A'+10);
     
          }
     }
    pour l'appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int len_buffreq=strlen(buffreq);
    int j=0;int i=0;
        unsigned x;unsigned y;
     while(i<len_buffreq)
    	{
          x=CharToHex(buffreq[i]);
    	  y=CharToHex(buffreq[i+1]);
    	  byte_buffreq[j]=((x<<4) | y);
    	  j++;
    	  i+=2;
    	}

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 470
    Par défaut
    Voir à la fin de cette FAQ
    http://www.codeguru.com/forum/showthread.php?t=316299

    Mais franchement, je ne vois pas d'intérêts à toutes ces manipulations de chaînes sauf peut-être pour faire des bots et des virus se propageant par IRC ou MSN faits par des scripts kiddies boutonneux.

Discussions similaires

  1. Problème de conversion de char en byte
    Par Gouyon dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2012, 19h15
  2. [Debutant] conversion de char en int
    Par Marc_3 dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2011, 12h02
  3. Réponses: 16
    Dernier message: 29/10/2008, 14h33
  4. Conversion de char[] en byte[]
    Par Razgriz dans le forum Langage
    Réponses: 12
    Dernier message: 12/09/2007, 11h36
  5. Réponses: 2
    Dernier message: 01/07/2004, 11h36

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