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

Visual C++ Discussion :

Convertir cstring en hexa


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut Convertir cstring en hexa
    Bonjour. Est ce que quelqu'un pourrait m'expliquer comment convertir un cstring en hexa?Parce que j ai beau regarder dans la faq, je comprend pas très bien. Merci d avance

  2. #2
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    La fonction strtoul() te permet de convertir une chaine de la forme const char* en un entier non signé (valeur de retour).

    Le premier paramètre est ta CString, le second tu le mets à NULL et le 3ième est la base correspondante. Pour toi, ca semblerait 16.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Oui mais est ce que strtoul va aussi me convertir les lettres?

  4. #4
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Citation Envoyé par rodgeurette
    Oui mais est ce que strtoul va aussi me convertir les lettres?
    Oui si tu précises bien la base hexa comme paramètre. C'est l'intérêt de ce dernier.

    Pourquoi ne fais tu pas d'essais pour le constater?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Justement j ai fait:

    unsigned long int x;
    x=strtoul(nom__variable,NULL,16);

    et ensuite j ai voulu l insérer dans un fichier texte en faisant
    fprintf(fichier,%ld,,x);


    mais quand j ai pris "michel" comme choix de variable ca ma donné 0...

  6. #6
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    mais quand j ai pris "michel" comme choix de variable ca ma donné 0...
    michel ne se converit pas en un entier... 'm', 'i', 'h', 'l' ne représente pas les lettres hexadécimales...

    En fait ce que tu veux c'est la représentation hexadécimale des caractères de ta chaîne, c'est différent!

    Essaie par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("%x", 'm');
    Tu auras la représentation hexadécimale du caractère 'm'.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Oui effectivement ca marche bien pour une lettre, mais si je met
    fprintf(fichier,%x,nom__variable);
    ca ne marche plus...

  8. #8
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Je ne pense pas qu'il y ai une fonction d'une API qui effectue cela directement. Jamais entendu parler et jamais vu.

    Ce que je ferais:
    - Récupérer un pointeur sur la chaîne de caractère
    - Parcourir chaque caractère de ta chaine en incrémenant ton pointeur et au préalable sauvegarder dans ton fichier, la représentation hexadécimale du caractère sur lequel tu pointes.


Discussions similaires

  1. Convertir une séquence hexa en CString ?
    Par xylo dans le forum C++
    Réponses: 5
    Dernier message: 22/10/2008, 17h05
  2. Convertir CString to CTime
    Par Oraman dans le forum MFC
    Réponses: 3
    Dernier message: 11/08/2006, 13h38
  3. [unicode] Convertir CString en Char[]
    Par dacid dans le forum Visual C++
    Réponses: 7
    Dernier message: 31/05/2006, 09h22
  4. CString : conversion Hexa -> caractere
    Par auriga dans le forum MFC
    Réponses: 7
    Dernier message: 11/05/2006, 18h53
  5. [C#] convertir un nombre hexa en int
    Par linux dans le forum C#
    Réponses: 5
    Dernier message: 08/12/2005, 16h38

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