begin process at 2012 05 28 23:03:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Conversion vers hexa


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Conversion vers hexa

jeudi 29 octobre 2009 à 15:47:44 | Conversion vers hexa

chrisotphe7502

Bonjour,

mon problème est le suivant, je souhaite convertir une chaine en hexa. La chaine de caractère est de la forme 01020304 et je souhaite envoyer (via une socket) les données 0x01 0x02 0x03 0x04.

Les solutions que j'ai trouvées ne fonctionnant pas, je vous demande de l'aide ici.

Merci.
Bonne journée.
jeudi 29 octobre 2009 à 16:48:43 | Re : Conversion vers hexa

BruNews

Administrateur CodeS-SourceS
De l'hexa c'est en chaine de caractères et vu que ta chaine est deja lisible sous forme hexa, il n'y a rien à convertir.

ciao...
BruNews, MVP VC++
vendredi 30 octobre 2009 à 13:49:38 | Re : Conversion vers hexa

chrisotphe7502

Mais ça va envoyer la valeur hexa de 0 puis la valeur hexa de 1 ... nan?
vendredi 30 octobre 2009 à 14:46:55 | Re : Conversion vers hexa

fregolo52

Membre Club
si si !!
Tu dois découper ta chaîne 2 caractères par 2 caractères.
Une fois que tu as ta liste de valeur sur 2 caractères, utilises strtol (je crois que cette fonction est dispo enc) pour avoir la valeur numérique de la chaîne.
vendredi 30 octobre 2009 à 17:30:42 | Re : Conversion vers hexa

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
disons que on aurait: char chaine[] = "01020304";
on evite aisément l'appel de strtol() et donc du découpage de chaine.

char *c = chaine;
int i = 4;
DWORD r, v;
do { // 4 passes de 2 char
r = *c
v = *(c + 1);
if((r >= '0') && (r <= '9')) r -= '0';
else if((r >= 'A') && (r <= 'F')) r -= 55;
else if((r >= 'a') && (r <= 'f')) r -= 87;
if((v >= '0') && (v <= '9')) v -= '0';
else if((v >= 'A') && (v <= 'F')) v -= 55;
else if((v >= 'a') && (v <= 'f')) v -= 87;
r <<= 4;
c += 2;
r += v;

// ICI ENVOI DE r
} while(--i);

Pas testé mais devrait aller.

ciao...
BruNews, MVP VC++
lundi 2 novembre 2009 à 09:26:40 | Re : Conversion vers hexa

chrisotphe7502

J'ai un problème avec DWORD, il n'est pas reconnu.
Y a t'il un moyen d'utiliser autre chose que DWORD qui soit dans la librairie standard ?
lundi 2 novembre 2009 à 09:48:34 | Re : Conversion vers hexa

chrisotphe7502

Autant pour moi, j'ai remplacer DWORD par unsigned int et ça marche.

Merci pour votre aide.

Bonne journée.


Cette discussion est classée dans : chaine, conversion, souhaite, hexa


Répondre à ce message

Sujets en rapport avec ce message

Copie d'une chaine Hexa dans une Chaine de caractères [ par lyde ] Bonjour,je souhaiterais copier la chaine hexa "010601AE0205040045" dans une variable de type TCHAR * qui est quasiment equivalente a un char *.Cependa Conversion de chaine en entier [ par JMGR ] Comment peut - on convertir une chaine qui contient par exemple "25" en entier ?Exemple :char texte[256]="25";int nombre;nombre = texte; //Erreur...< Conversion décimale => binaire [ par nicolas66 ] Bonsoir tlm,j'ai un pb un une ptite fonction pas très compliquée à mon avis :char * itob( int n ){ char * chaine; int i = 0; while ( n > 0 ) { *(chai Conversion ASCII vers HEXA (please help) [ par ymerej ] Salut à tous,je souhaite convertir un caractère ASCII en HEXA mais pas un HEXA de type int ! Un HEXA de type char.Voici un exemple :si j'ai le caracte conversion de date [ par CHENRY ] En VC++ 6.0 avec les MFC.Pour convertir une date en chaine, j'ai bien trouvé la propriété MaChaine = MaDate.Format(0, LANG_USER_DEFAULT)mais pour conv Conversion chaine en entier base 16 [ par Cako19 ] Bonjour, Je souhaiterais convertir une chaine en entier base 16, tout comme le fait la fonction atoi en base 10. Ex: j'ai la chaine "0x013036" et je s chaine binaire en chaine hexa [ par thomas59553 ] bonjour a tous ;)je cherche une methode permettant de convertir une chaine binaire en une chaine hexale contenu de la chaine binaire est deja verifiee Conversion HEXA ASCII [ par huguesmagali ] Comment convertir en C:41444144(hex) en ADAD (ASCII)merci pour votre aide. Conversion entier vers chaine [ par highcobra ] Bonjour, je n'arrive pas à trouver la fonction permettant de convertir un entier vers une chaine de caractères. Merci pour vos réponses High_Cobra ;) trouver une sous chaine dans une chaine [ par avprive ] Bonjour je souhaite trouver une sous chaine dans une chaine qui a des separateurs ma chaine est  ;xpos=10,4;ypos=11,2<span style="font-weight: bold;


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales