Saisi au clavier sous forme "\x8D"

Résolu
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008 - 6 janv. 2005 à 15:08
supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008 - 7 janv. 2005 à 12:56
Bonjour à tous

Je m'explique : je voudrai pouvoir saisir un nombre en décimal, puis le sauvegarder sous la forme "\x8D" par exemple ... j'ai esayer de traduire le nombre decimal en héxa puis de lui rajouter "\x" devant malheuresement cela prend 4 charactère et non 1 seul comme j'aimerai faire ... y'a-t-il une solution ???

Merci d'avance

Sylvain

5 réponses

supers03 Messages postés 106 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 1 décembre 2008
7 janv. 2005 à 12:56
merci pour vos réponses mais la solution m'a été donné là :
http://cppfrance.com/forum.v2.aspx?ID=365278

encore merci

Sylvain
3
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
6 janv. 2005 à 15:46
salut,

tu voudrais sauvegarder ça où ? sur le disque ?

sinon, je ne pense pas que ça soit possible à moins de l'écrire en mode
"binaire" (pas en mode texte) dans le fichier mais il n'aura pas la
forme "\x8D" ça sera la valeur "8D" hexa sur 1 octet.

l'affichage du '\x' est uniquement utilisé pour représenter le mode
hexa à l'écran et ne modifie en rien la valeur qui reste '8D' dans ton
exemple.


j'espère que ça répond à ta question...


DvdMizo
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
6 janv. 2005 à 19:46
Ta question est carrément pas clair effectivement.

Si c'est sur le disque que tu veux ecrire :



/* Top */

FILE *f;

char octet=0;



scanf("%i", &octet);

f= fopen( FICHIER, "w+b");

fprintf(f, "\\x%02X", octet);

fclose( f);
/* End */



Voilà c'est en ultra vite fait mais ca devrait répondre à ta question.




eRoZion
0
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
6 janv. 2005 à 19:50
Ou regarde du coté de 'sprintf()' aussi sinon.


eRoZion
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
6 janv. 2005 à 22:21
En fait je viens de relire et je vois que tu as écrit : "malheuresement cela prend 4 charactère et non 1 seul comme j'aimerai faire" ?!?



Quand tu écrit un octet dans un fichier, par defaut il ne prend qu'un octet.

Si tu ne nous en dit pas plus on ne pourra pas t'aider.




eRoZion
0
Rejoignez-nous