Problème d'accent

Signaler
Messages postés
42
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
30 mars 2007
-
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
-
Bonjour,

j'ai un problème avec des accents en C++.
J'ai une chaine de caractère que je voudrai vérifier.Je souhaiterai savoir si celle ci contient ou non des accents.
j'ai déjà fait sa mais il me renvoi tjs 0

  for (unsigned int i=1; i<strlen(name); i++)
  {
 if (p[i]=='' || p[i] == '' || p[i] == '' || p[i] == '' || p[i] == '' || p[i] == '' || p[i] == '') 
 {
  return 1; // pas underscore, letter, digit, dot, tiret
 }
 else
     {
  return 0;
     }
  }


A l'avance merci

7 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
ton algo est pas bon.
il faut faire
for (i=0; i  < strlen(name); i++)
 si caractere (name[i]) pas bon
    return 0
si carctere bon on faire rien
Messages postés
42
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
30 mars 2007

j'ai testé avec ce que tu viens de me dire mais sa ne marche pas si je rentre la chaine "ééééééé" il me return 0 mais même si je mets "je test" il me retourne 0

A l'avance merci
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
Fait voir ton code.
Si tu as laissé p[i]=='' || p[i] == '' || p[i] == '' || p[i] == '' || p[i] == '' || p[i] == '' || p[i] == '' c'est normal que ca marche pas
++
Messages postés
42
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
30 mars 2007

non mais j'ai bien mais mes "é" "à", etc.....
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
for (unsigned int i=1; i<strlen(name); i++)
{
     if (p[i]=='é' || p[i] == 'à')
     {
      return 1; //contient des accents
    }
}
return 0; // pas d'accent dans la chaine
Messages postés
42
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
30 mars 2007

C'est ce que j'ai fait mais il ne rentre jamais dans le test.je ne sais pas ou est le problème.
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
Essayer de remplacer les 'é' par le code ascii (version p[i] = 18) faut  que tu trouves la table des caracteres