Saisi au clavier sous forme "\x8D" [Résolu]

supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention - 6 janv. 2005 à 15:08 - Dernière réponse : supers03 106 Messages postés mardi 6 janvier 2004Date d'inscription 1 décembre 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

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

encore merci

Sylvain

Merci supers03 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

Commenter la réponse de supers03
Dvdmizo 74 Messages postés jeudi 6 mars 2003Date d'inscription 3 mai 2006 Dernière intervention - 6 janv. 2005 à 15:46
0
Merci
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
Commenter la réponse de Dvdmizo
cs_eRoZion 241 Messages postés vendredi 23 mai 2003Date d'inscription 8 octobre 2007 Dernière intervention - 6 janv. 2005 à 19:46
0
Merci
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
Commenter la réponse de cs_eRoZion
cs_eRoZion 241 Messages postés vendredi 23 mai 2003Date d'inscription 8 octobre 2007 Dernière intervention - 6 janv. 2005 à 19:50
0
Merci
Ou regarde du coté de 'sprintf()' aussi sinon.


eRoZion
Commenter la réponse de cs_eRoZion
cs_eRoZion 241 Messages postés vendredi 23 mai 2003Date d'inscription 8 octobre 2007 Dernière intervention - 6 janv. 2005 à 22:21
0
Merci
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
Commenter la réponse de cs_eRoZion

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.