Salut

Je voudrais écrire une petite fonction qui transforme tous les caractères spéciaux d'une chaîne de caractère en code Hexa précédé de '%'. Par exemple, elle retournera '%20' pour l'espace " " ou "%40" pour le caractère "@".

Dites-moi ce qui cloche dans ce code :

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
 
char[] EncodeIt(char text[])
{
	int len = strlen(text);
	for(int i = 0; i < len;i++)
	{
	   switch(text[i])
	   {
	     case ' ':
	     cout << "Space !"<< endl;
	     break;
 
	     default:
	     cout << "No Space Found !"<< endl;
	     break;
 
	   }
 
	}
 
 
 
}
Voici la liste des codes ASCII et HEXA des caractères concernés



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
36
37
38
39
 
 
1ère colonne : caractères spéciaux
2e colonne : code ASCII
3e colonne : code HEXA
 
SP (espace) 32 20 
! 33 21 
" 34 22 
# 35 23 
$ 36 24 
% 37 25 
& 38 26 
' 39 27 
( 40 28 
) 41 29 
* 42 2A 
+ 43 2B 
, 44 2C 
- 45 2D 
. 46 2E 
/ 47 2F 
: 58 3A 
; 59 3B 
< 60 3C 
= 61 3D 
> 62 3E 
? 63 3F 
@ 64 40 
[ 91 5B 
\ 92 5C 
] 93 5D 
^ 94 5E 
_ 95 5F 
` 96 60 
{ 123 7B 
| 124 7C 
} 125 7D 
~ 126 7E

Merci pour aide !


PDTOR