Prendre en compte caractères spéciaux

Fermé
Xbaradur - 6 févr. 2008 à 16:33
 pseudo=) - 14 mars 2011 à 12:05
Bonjour,

J'ai un soucis au niveau d'un code. Celui-ci ne prend pas en compte les caractères spéciaux : par exemple si nick = bla-bla et que bla-bla est présent dans mon dossier (RESA_PATH) il ne va pas le trouver.
Si quelqu'un pouvait m'aider svp .. Merci d'avance !

static int resa_is_reg(const char *nick)
{
FILE *fp;
char base_path[1024] = RESA_PATH;
int res = 0;

resa_do_filename(nick, base_path + sizeof(RESA_PATH) -1);
strcat(base_path, "/Password.txt");

if((fp = fopen(base_path, "r")))
{
res = 1;
fclose(fp);
}
return res;
}

Cdt.
A voir également:

5 réponses

Bonjour peux etre un peux trop tard mais pour le - il faut le remplacer par %137
le _ par %055 ,le [ par %133 et le ] par %135
1
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 83
6 févr. 2008 à 21:07
Le problème vient de l'underscore (_) certains compilateurs voire certaines plates-formes ne le reconnaissent pas. L'idéal, si bien entendu tu est administrateur est de renommer ton répertoire RESA_PATH (par exemple en ResaPath.)
0
Ok merci de ta réponse ! Mais en fait RESA_PATH c'est qu'une " variable " du nom du dossier dans lequel ce trouve les dossier (qui varie salon ce qu'on envoit) *nick
Dans le style, si Resa_Path = Dossier1 et *nick = bla-bla
/Dossier1/bla-bla/Password.txt -> et en fait, ca ne trouve pas le dossier bla-bla quand celui-ci contient un - ou _ ou ] ou encore [.
Donc voilà, si quelqu'un avait une réponse svp !
Merci d'avance !

Cdt
0
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 83
6 févr. 2008 à 22:20
Sans vouloir me répéter, c'est un question de nom de répertoire, qui n'est pas toujours reconnu.
Eventuellement essayes de passer par les caractères ASCII pour -, _, ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
D'accord ! Merci bien :)
0