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 :

Convertir string en Hexa


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Convertir string en Hexa
    Bonsoir,

    comment faire pour convertir une chaîne de caractère en hexa

    Exemple:

    -chaîne qui contient des virgule(,): 12,23,56,48 ==> je souhaite la rendre sous la forme : 0x12 0x23 0x56 0x48

    -chaîne qui contient des point-virgule(;) : 12;23;56;48 ==> je souhaite la rendre sous la forme : 0x12 0x23 0x56 0x48

    -chaîne qui contient deux points(:) : 12:23:56:48 ==> je souhaite la rendre sous la forme : 0x12 0x23 0x56 0x48

    -chaîne : 0x12 0x23 0x56 0x48 ==> je souhaite la rendre sous la forme : 0x12 0x23 0x56 0x48

  2. #2
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2016
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 244
    Points : 993
    Points
    993
    Par défaut
    Bonsoir,

    Vous pouvez chercher du côté de :

    1. fscanf pour la conversion de chaînes de caractères en chiffres ;
    2. printf pour afficher les valeurs hexadécimales de chiffres.


    Le reste (l'extraction des chiffres parmi les ",;:") n'étant que l'algorithmie élémentaire, vous ne devriez pas à avoir besoin de nous. Ou bien, concentrez-vous d'abord à améliorer vos connaissances en algorithmie avant de chercher plus complexe
    «Le management, tel qu’on l’apprend dans les écoles et tel qu’on l’applique ensuite, sous prétexte de «motivation du personnel», organise exactement le contraire, à savoir la démotivation organisée.» - Bernard Stiegler

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai réussi à extraire les chiffres parmi les ",;:".

    le difficulté c'est comment ajouter "0x" pour que la chaine soit 0x12 0x23 0x56 0x48

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    À quel moment 12, 23, 56 et 48 deviennent 0x12, 0x23, 0x56 et 0x48 en héxa ?

    Soit tu veux juste ajouter 0x devant, et ça n'a aucun intérêt en fait ni aucune difficulté, soit tu dois revoir tes cours de maths pour les changements de base.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 862
    Points
    30 862
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par lahwelcorail Voir le message
    J'ai réussi à extraire les chiffres parmi les ",;:".
    J'espère que tu as utilisé une fonction permettant de passer ",;:" en paramètre...

    Citation Envoyé par lahwelcorail Voir le message
    le difficulté c'est comment ajouter "0x" pour que la chaine soit 0x12 0x23 0x56 0x48
    Boucler sur strtok_r() pour pouvoir extraire les nombres de façon individuelle (donc tu auras à chaque tour de boucle 12 puis 23 puis 56 puis 48)... puis une fois que tu en es là, rajouter "0x" ne devrait pas poser de difficulté...

    Citation Envoyé par lahwelcorail Voir le message
    -chaîne : 0x12 0x23 0x56 0x48 ==> je souhaite la rendre sous la forme : 0x12 0x23 0x56 0x48
    Bel effort

    Citation Envoyé par Bousk Voir le message
    soit tu dois revoir tes cours de maths pour les changements de base.
    Ben il me semble, d'après son énoncé, que les chiffres sont déjà basés en hexa et qu'il veut juste rajouter "0x". Donc à priori aucun calcul de changement de base à faire...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2016
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 244
    Points : 993
    Points
    993
    Par défaut
    Citation Envoyé par lahwelcorail Voir le message
    J'ai réussi à extraire les chiffres parmi les ",;:".

    le difficulté c'est comment ajouter "0x" pour que la chaine soit 0x12 0x23 0x56 0x48
    Je pars du principe que vos chiffres sont déjà en hexadécimal (difficile de le deviner en tant que tel).

    Si vous cherchiez un peu sur un moteur de recherche, vous auriez dû trouver la réponse. Mais soit. Si il faut mâcher le travail, pourquoi pas ; certains peuvent avoir du mal à mâcher après tout.

    Un indice très généreux : sprintf
    «Le management, tel qu’on l’apprend dans les écoles et tel qu’on l’applique ensuite, sous prétexte de «motivation du personnel», organise exactement le contraire, à savoir la démotivation organisée.» - Bernard Stiegler

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

Discussions similaires

  1. convertir de l'HEXA en string
    Par rmatthieuraimbault dans le forum VBScript
    Réponses: 2
    Dernier message: 09/12/2007, 20h02
  2. [C#] convertir un nombre hexa en int
    Par linux dans le forum C#
    Réponses: 5
    Dernier message: 08/12/2005, 17h38
  3. Convertir String en Char: comment?
    Par nmathon dans le forum Langage
    Réponses: 2
    Dernier message: 22/08/2005, 21h58
  4. Conversion d'un string en hexa
    Par marsupilami34 dans le forum Langage
    Réponses: 3
    Dernier message: 07/07/2005, 10h13
  5. [C#] Fonction pour convertir string[] vers ArrayList
    Par luimême dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/04/2005, 14h25

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