Sve@r | Master_Jul a écrit :
Bonjour,
J'ai besoin d'encoder des URL pour un programme en C, comme vous le savez sûrement, les espaces sont codés par %20, il existe d'autres codes pour les caractères accentués et des symboles.
Je ne sais pas trop comment m'y prendre et par où commencer. Faut-il que je fasse un tableau avec la liste de tous les codes disponibles ? Il faut que je boucle pour rechercher tous les signes susceptibles d'être convertis sur ma chaine de caractère ?
Merci pour vos précieux conseils.
|
Moi, je ferais une structure avec 2 champs
1) la chaîne à remplacer
2) la chaîne correspondante
Puis je crée un tableau de cette structure ensuite, je parcours mon URL dans une première boucle et mon tableau dans une seconde. Ca pourrait être un truc du style
Code :
- typedef struct {
- char *in;
- char *out;
- } t_url;
- main()
- {
- //...
- //...
- t_url tabURL[]={
- {"%20", " "},
- {"%30", "é"},
- {"%40", "è"},
- //etc etc
- {NULL, NULL}
- };
- t_url *ptURL;
- ...
- ...
- for (/* je balaye mon URL */}
- {
- for (ptURL=tabURL, ptURL->in != NULL; ptURL++}
- {
- if (strcmp(ptURL->in, /*...*/) == 0)
- {
- // J'écris ici ptURL->out
- }
- }
- }
- }
|
Bien entendu, il y a peut-être une fonction qui le fait déjà et que je ne connais pas... Message édité par Sve@r le 12-09-2004 à 10:13:21 ---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
|