demande d'explication sur des affichages
Bonjour,
j'aurais besoin de vos lumières pour comprendre quelquechose.
Dans mon code je dois afficher une chaine de caractère où je dois remplacer les caractères non imprimables par leur valeur en octal. (donc pour les char < 32 et >= 127)
le problème est que pour des valeurs < 10 j'obtiens ce que je veux sinon ca merde
ex:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| char str1[5];
char str2[6];
char str3[7];
strcpy(str1, "test");
str1[1] = 6;
strcpy(str2, "test");
str2[1] = 27;
strcpy(str3, "test");
str3[1] = 127;
aff(str1);
aff(str2);
aff(str3); |
t006st
t033st
t17st au lieu de t177st
ma fonction aff se resume à afficher les caractères imprimables et si jamais il y a une valeur < 32 ou >= 127 je fais appelle a ma fonction qui convertie ce nombre en octal (independament elle marche :))
A votre avi les caractères sont tronqués parce que je case dans un char un nombre à 3 digit ou il y a un bug autre part?