Comme le dit le titre, je veux faire une v�rification d'input pour qu'il ne soit possible de n'entrer que des lettres, l� sa va, mais, mon code me renvoi false quand il rencontre un accents.

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
 
inline bool isAlpha(const string & s)
	{
		static const char alpha[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZÄÅÇÈÀÉÑÖÜàâçèéêîôùûé";
		if (s.empty()) return false;
		for (int i = 0; i < s.size(); i++) {
			if (!((s[i] == ' ') || (s[i] == '-') || strchr(alpha, s[i]) != NULL)) return false;
		}
 
		return true;
	}
 
        // J'appelle cette fonction quand je veut faire une vérification.
	string inputAlpha() {
		string input;
		bool valide = false;
		do {
			getline(cin, input);
			valide = isAlpha(input);
			if (!valide)
				cout << "N'entrer que des lettres, espaces et tirets" << endl;
		} while (!valide);
 
		return input;
	}
Quelqu'un a une id�e pour que isAlpha prenne en compte les accents?
La bonne nouvelle c'est qu'il ne plante pas (V) (;,,;) (V)

�dit:
Je sais pas si sa influence, mais dans mon main j'utilise un SetConsoleOutputCP(1252)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
 
#include <windows.h> 
 
UINT default_codepage = GetConsoleOutputCP();
 
void main() {
	SetConsoleOutputCP(1252);
 
         //Le code du main..
 
	SetConsoleOutputCP(default_codepage);
}
Sur mon ordinateur les accents son afficher mais pas sur un autre.