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:
t006st
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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?
Partager