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 :

string en hexa (j'ai lu la faq :P )


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 42
    Points : 23
    Points
    23
    Par défaut string en hexa (j'ai lu la faq :P )
    Bonjour tout le monde !

    Donc voilà, je veux convertir une string en unsigned char. Le but étant de lire par exemple "0xA4" dans un fichier, et d'avoir un unsigned char = 0xA4. J'ai lu la faq, j'utilise cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //convertit un std::string en sa valeur hexa
    //"A4" devient 0xA4
    unsigned char XMLHandler::stringToUchar(string chaine){
    	istringstream iss(chaine);
    	unsigned char octet;
    	iss >> octet;
    	return octet;
    }
    Mais par exemple pour convertir "00", il me renvoit 30 au lieu de 0x00.
    j'ai essayé "iss >> octet", "iss >> hex >> octet", "iss >> octet >> hex", et pareil avec "oct" au lieu de "hex", mais j'ai toujours le même 30...

    Est-ce quelqu'un pourrait m'aider ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Il a lu un char, soit 1 carcatère, qui vaut '0', soit 0x30 en ASCII. Lis dans un entier que tu cast en uchar, et utilise hex + fait un test de réussite.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Et oui çà marche!

    Merci

    La solution pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int octet;
    iss >> hex >> octet;
    return (unsigned char)octet;

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

Discussions similaires

  1. Conversion String en hexa char special
    Par Jahz dans le forum Langage
    Réponses: 1
    Dernier message: 03/08/2007, 15h52
  2. traduire chaine string en hexa
    Par STEPH42160 dans le forum Visual C++
    Réponses: 3
    Dernier message: 20/09/2006, 11h32
  3. Calcul String (valeur Hexa) -> double puis double -> char *
    Par ben_ghost dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 30/07/2006, 21h04
  4. Conversion String en Hexa ("1F") vers byte
    Par ducseb dans le forum Langage
    Réponses: 1
    Dernier message: 15/04/2006, 20h03
  5. Conversion d'un string en hexa
    Par marsupilami34 dans le forum Langage
    Réponses: 3
    Dernier message: 07/07/2005, 09h13

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