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

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

Votre réponse

5 réponses

Meilleure réponse
Messages postés
106
Date d'inscription
mardi 6 janvier 2004
Dernière intervention
1 décembre 2008
- 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é 88 internautes ce mois-ci

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


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