valeur octal d'un caractere - C - Programmation
Marsh Posté le 10-12-2004 à 16:54:09
de la même facon que tu récupére le code ascii d'un caractérz imprimable
un char contient un code ascii (un nombre) apres tu peut l'interpréter comme tel ou l'afficher
char a = 'a';
printf("%d %c",a, a);
tu a juste a convertir ta variable en octal ce qui est pas trés compliqué !
Marsh Posté le 10-12-2004 à 17:51:48
Tonio94 a écrit : Pour gerer une option de printf (que je recode) je dois recupere les codes ascii des caracteres non imprimables ( < 32 et >= 127) et les representer par des \ suivi de la valeur en octal. |
En C, un caractère est une valeur numérique comme une autre. Pas de conversion à faire.
Pour convertir en octal : Comme l'indique ton livre de C : *printf() avec "%o"
Marsh Posté le 10-12-2004 à 23:26:32
ben non justement pas printf avec %o puisque je suis cense recoder printf. Sinon merci j'ai reussi a m'en sortir et la j'essai de gerer le %u pour le "unsigned decimal"...
Marsh Posté le 11-12-2004 à 09:47:01
Tonio94 a écrit : ben non justement pas printf avec %o puisque je suis cense recoder printf. Sinon merci j'ai reussi a m'en sortir et la j'essai de gerer le %u pour le "unsigned decimal"... |
Désolé, mal lu l'énoncé. Une conversion en octal consiste à utiliser les chiffres '0' à '7' pour coder la valeur binaire. Il suffit donc de grouper les bits par paquet de 3 en partant du LSB (le plus à droite) et de leur attribuer le caractère qui va bien.
Ici,
http://mapage.noos.fr/emdel/clib.htm
Module ITOA
il y a des fonctions qui font ça pour l'héxadécimal. Ca ne devrait pas être trop dur d'en adapter une pour faire de l'octal...
Marsh Posté le 14-12-2004 à 17:41:10
Merci bien
Marsh Posté le 10-12-2004 à 16:13:54
Salut,
Pour gerer une option de printf (que je recode) je dois recupere les codes ascii des caracteres non imprimables ( < 32 et >= 127) et les representer par des \ suivi de la valeur en octal.
Seulement voila comment recup le code ascii d'un caractere non imprimable ? et le rapport avec l'octal pour afficher son code ? quoique je vois comment faire la conversion (putnbr_base).
Merci d'avance.
---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti