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

Développement Discussion :

char* to byte VC++


Sujet :

Développement

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 char* to byte VC++
    Slt,je voudrais convertir un tableau de char en byte[] j'ai essayé le code suivant
    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" (le porbleme est dans sscanf_s)
    est ce que cette fonction n'est pa utilsable en VC++?si oui y'a t-il une autre méthode pour la conversion?
    Merci de me répondre

  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
    j'ai essayé ca mai il y a qq chose qui ne va pas
    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
    16
    17
    18
    19
    20
    21
    22
    unsigned Serveur::CharToByte(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);
       
      }
     }
    
    //appel a la fonction
    int j=0;int i=0;
    unsigned x;unsigned y;
    while(i<len_buffer)
    	{
          x=CharToByte(buffer[i]);
    	  y=CharToByte(buffer[i+1]);
    	  byte_buffer[j]=((x<<4) | y);
    	  j++;
    	  i++;
    	}
    en execution la chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    000100000006FF01007B000C
    Pour verifier si la conversion est correcte,j'ai utilisé la fonction réciproque(que j'ai déja implémenté)" ByteToChar" mai j'ai trouvé cette chaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    00000110000000000000066F
    quelqu'un a une idée s'il vous plait?

  3. #3
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Salut pourquoi veux-tu convertir un char en byte ?
    C'est pour transformer une chaine de charactères ANSI en UNICODE ?

  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
    En fait je développe une application client serveur (profil de communication TCP):

    le serveur recoit un buffeur contenant une requête en hexa , il doit vérifier le contenu de ce buffeur ( effectuer des tests ) et suivant ces tests, le serveur retournera une réponse . C'est pour cela que j'ai besoin de transformer ce buffeur en tableau de byte pour effectuer les traitements nécessaires.

Discussions similaires

  1. Convertir un tableau de char en byte
    Par altahir007 dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/09/2011, 14h55
  2. conversion de char* en BYTE[]
    Par koukou11 dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 12/03/2011, 14h52
  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. char ou BYTE
    Par devconf77 dans le forum Windows
    Réponses: 1
    Dernier message: 07/08/2007, 16h47

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