Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1540 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  chaine, hexa, conversion...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chaine, hexa, conversion...

n°208439
jan
Posté le 04-09-2002 à 11:28:21  profilanswer
 

Hello !
 
Bon, un truc tout con mais chiant...
 
j'ai un buffer char buf[10]
dedans je met 0x25 (buff "=" "0x25" )
je veux mettre le contenu de buf dans un unsigned char, comment je fais ??
sachant que ucTruc[0] = buf il aime pas beaucoup ! :crazy:
 
merci !! :)

mood
Publicité
Posté le 04-09-2002 à 11:28:21  profilanswer
 

n°208446
jan
Posté le 04-09-2002 à 11:35:27  profilanswer
 

a écrit a écrit :

 




 
déjà essayé, ça marche pas... :
 
warning C4047: '=' : 'unsigned char ' differs in levels of indirection from 'char *' à la compile et je me retrouve avec "," dans ucTruc[0] :(

n°208450
Carbon_14
Posté le 04-09-2002 à 11:37:06  profilanswer
 

Pour répondre à côté : le 0x25, il est généré par quoi ? Y aurait pas moyen (:D) de stocker directement la valeur int (ce qui simplifierait grandement la vie) quitte à afficher une valeur hexa si besoin pour autre chose mais à stocker numérique et pas chaîne ?
 
Je suis pas sûr que atol() atoi() savent décoder le "0x25", faudrait tester (??).

n°208451
bb138
La vie est belle ...
Posté le 04-09-2002 à 11:37:09  profilanswer
 

Je ne comprend pas trop bien ton : (buff "=" "0x25" ) ...
Sinon je peux te dire que buf est un pointeur donc tu peux faire : ucTruc[0] = *buf;

n°208452
jan
Posté le 04-09-2002 à 11:37:19  profilanswer
 

heeee c'est pas cool !!!! il est passé où le message d'avant ???? :gun:

n°208456
LetoII
Le dormeur doit se réveiller
Posté le 04-09-2002 à 11:39:12  profilanswer
 

Code :
  1. sscanf(buff,"%x",ucTruc);


 
Fait gaffe à ce que ton nombre ne dépasse pas 255 par contre.


---------------
Le Tyran
n°208458
LetoII
Le dormeur doit se réveiller
Posté le 04-09-2002 à 11:39:52  profilanswer
 

jan a écrit a écrit :

heeee c'est pas cool !!!! il est passé où le message d'avant ???? :gun:




 
quel message  :sarcastic:


---------------
Le Tyran
n°208459
jan
Posté le 04-09-2002 à 11:43:13  profilanswer
 

bon alors j'explique calmement...
 
je récupère une valeur en hexa (j'ai pas le choix) dans buf déclaré comme char buf[10] (pour bien vous embrouiller je le récupère sous forme de chaine !! :) )
 
ça ça marche, j'ai bien buf = "0x25"
 
ensuite je veux mettre ce que j'ai récupéré dans buf dans un unsigned char ucTruc[0]
 
au final je veux ucTruc[0] = 0x25
 
voili voilou !  
 
merci pour vos réponses déjà ! :)

n°208461
jan
Posté le 04-09-2002 à 11:43:47  profilanswer
 

letoII a écrit a écrit :

 
 
quel message  :sarcastic:  




 
celui que t'avais écrit en premier ! :(

n°208464
LetoII
Le dormeur doit se réveiller
Posté le 04-09-2002 à 11:49:50  profilanswer
 

jan a écrit a écrit :

bon alors j'explique calmement...
 
je récupère une valeur en hexa (j'ai pas le choix) dans buf déclaré comme char buf[10] (pour bien vous embrouiller je le récupère sous forme de chaine !! :) )
 
ça ça marche, j'ai bien buf = "0x25"
 
ensuite je veux mettre ce que j'ai récupéré dans buf dans un unsigned char ucTruc[0]
 
au final je veux ucTruc[0] = 0x25
 
voili voilou !  
 
merci pour vos réponses déjà ! :)




 
je t'ai filé la soluce


---------------
Le Tyran
mood
Publicité
Posté le 04-09-2002 à 11:49:50  profilanswer
 

n°208467
jan
Posté le 04-09-2002 à 11:54:47  profilanswer
 

ben ça lui plait pas, il me fait un bel access violation...

n°208475
jan
Posté le 04-09-2002 à 12:16:58  profilanswer
 

vous êtes partis manger ou vous séchez comme moi ?? ;)

n°208476
smaragdus
whores, drugs & J.S. Bach
Posté le 04-09-2002 à 12:17:39  profilanswer
 

jan a écrit a écrit :

vous êtes partis manger ou vous séchez comme moi ?? ;)




 
leto2 t'a filé la bonne réponse, y a rien à dire de plus

n°208477
jan
Posté le 04-09-2002 à 12:19:18  profilanswer
 

Smaragdus a écrit a écrit :

 
 
leto2 t'a filé la bonne réponse, y a rien à dire de plus




 
ben si, ça me fait un "access violation" donc c'est pas tout à fait la bonne solution malheureusement :(

n°208478
jan
Posté le 04-09-2002 à 12:23:43  profilanswer
 

ben tant pis, je vais m'y prendre autrement...
 
merci pour tout qd même !! :) :)

n°208484
Carbon_14
Posté le 04-09-2002 à 12:47:53  profilanswer
 

Je viens de vérifier que atoi() ne donne rien,
mais
{
char tt[32], tst[10];
int aa;
strcpy(tst, "0x25" );
sscanf(tst, "%x", &aa);
sprintf(tt, "%d", aa);
MessageBox(hWnd, tt, "valeur de 0x25", MB_OK);
}
comme suggéré par letoii fonctionne très bien : on obtient 37 décimal, ce qui est bien l'équivalent de 25Hexa.
 
Il doit y avoir un pb avec la chaîne, pb pointeur, .. ???
 
Dans aa, on a 37 décimal, 25 hexa, 101001 en binaire.

n°208513
LetoII
Le dormeur doit se réveiller
Posté le 04-09-2002 à 13:05:46  profilanswer
 

jan a écrit a écrit :

 
 
ben si, ça me fait un "access violation" donc c'est pas tout à fait la bonne solution malheureusement :(




 
 
Ouai effectivement j'ai fait une petite bouze mais bon t'aurais pu corriger ;)
 

Code :
  1. int temp;
  2. sscanf(buff,"%x",&temp);
  3. ucTruc[0] = (unsigned char)temp;


Message édité par LetoII le 04-09-2002 à 14:16:17

---------------
Le Tyran
n°208567
jan
Posté le 04-09-2002 à 14:14:55  profilanswer
 

je ne dirais qu'un mot : MERCI ! :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  chaine, hexa, conversion...

 

Sujets relatifs
[perl] modifier une chaine de caractèreFaire un SELECT MySQL sur une chaîne contenant des accents
[Delphi] Conversion ASCII{PL/SQL} Conversion de nombres
[C/C++] Conversion de pointeursConvertir une chaine en tableau .
[vb] rechercher un caractère dans une chaineCherche fonction de conversion bin to char et char to bin
conversion chaine 
Plus de sujets relatifs à : chaine, hexa, conversion...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR