Bonjour à tous, après avoir planché une partie de l'après-midi sur ce problème, je viens demander de l'aide.
Alors voici mon problème : J'ai une fonction qui me permet de convertir un caractère en son code ASCII, son code ASCII est ensuite envoyé dans une fonction qui transforme le code ASCII du caractère en binaire, puis transforme le binaire en une chaîne de caractères de 0 et de 1. Mais il y a des caractères spéciaux au début de ma chaîne. J'ai essayé de les enlever en copiant la chaîne à partir de l'indice après les caractères mais dans cette nouvelle chaîne, j'ai encore des caractères spéciaux.
Voici un exemple de sortie de mon programme :
(On convertit C en son code ASCII puis on affiche le binaire)
En binaire : 1000011
m1000011 (qui correspond à la chaîne de caractères)
?²?1000011 (qui correspond à la copie de la chaîne de caractères)
Je ne suis pas très familier encore avec les chaînes de caractères, j'ai peut être fait une erreur de débutant. Voici mon code :Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 void binaire(int nb) { int t[7], i = 0, k=0; char* self; self = malloc(sizeof(int)*7); char tmp[10]; char selftmp[7]; do{ t[i] = fmod(nb,2); nb = nb/2; i++; k++; }while(nb != 0); printf("En binaire : " ); for(i = k-1; i >= 0; i--) { printf("%d",t[i]); sprintf(tmp, "%d", t[i]); strcat(self, tmp); } printf("\n%s\n", self); for (int i = 1; i<8; i++) { sprintf(tmp, "%c", self[i]); strcat(selftmp, tmp); } printf("%s\n", selftmp); }
Partager