Trier des caracteres avec accents ? - C - Programmation
Marsh Posté le 11-07-2006 à 19:12:48
bobdevroot a écrit : Salut, |
C'est à toi d'implémenter ta propre fonction "strcmp" qui comparera tes chaînes en considèrerant que "é" et "è" sont identiques (ainsi que "a" et "à", "o" et "ô", etc...)
En C++, tu peux créer ta propre classe avec son propre opérateur "=="...
Marsh Posté le 12-07-2006 à 15:32:38
Merci Sve@r !
Est-ce que tu peux m'en dire un peu plus sur l'usage dans une classe
de "son propre operateur" ?
Marsh Posté le 12-07-2006 à 16:16:12
Ca devient du C++, et non du C.
En C on ne peut pas redéfinir d'opérateur. Comme dit Sve@r, il faut écrire une fonction qui fait exactement ce que tu veux (je pense que le plus simple est, dans cette fonction, de convertir tous les caractères accentués en leur équivalent sans accent, puis de faire le tri normalement, et de réafficher/retourner les chaînes originales avant conversion)
Marsh Posté le 12-07-2006 à 21:20:50
bobdevroot a écrit : Merci Sve@r ! |
Comme le dit Elmoricq, cela devient du C++. Mais pour résumer, il t'es possible de définir une classe quelconque gérant n'importe quoi, puis de redéfinir pour cette classe n'importe quel opérateur parmi les opérateurs classiques (+, -, ++, <<, [], etc...).
Ensuite, une fois que tu as redéfini l'opérateur que tu veux, par exemple "==" (et que t'as donc indiqué comment l'opérateur "==" travaillera quand on lui donnera 2 membres de cette classe à traiter), il t'es possible de faire "if (a == b)" avec "a" et "b" des variables du type de cette classe. C'est l'avantage du C++. Tu définis tout à l'avance puis t'as plus qu'à utiliser ce que tu veux comme t'en as envie...
Marsh Posté le 11-07-2006 à 18:44:29
Salut,
Comment faire, en C ou C++, pour trier des caracteres accentues avec des caracteres
non-accentues afin d'obtenir un tri equivalent a celui d'un dictionnaire. Je veux dire que les
e, è, é et ê soient tous ensemble.
Merci