Bonjour...
J'ai toujours des problèmes avec l'UNICODE
Voici mon code
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
 
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
 
#define E_AIGU_MIN L'\x00E9'
 
int main(void){
  wint_t c;
  setlocale(LC_ALL,"");
  c = getwchar();
  if (c == E_AIGU_MIN)
     c = L'e';
  putwchar(c);
  return 0;
}
Ce que je voudrais, c'est que si je tape un 'é' , il m'affiche un 'e'. J'ai récupéré le code Unicode du 'é' depuis cette page http://www.unicode.org/fr/charts/PDF/U0080.pdf

Ce code fonctionne bien sous mon Linux (Ubuntu), mais PAS sous Windows, où cela m'affiche un deuxième 'é' après celui que j'ai tapé.
J'arrive pas bien à comprendre pourquoi... J'ai essayé d'enlever le setlocale, ça ne change rien. A croire que le 'é' n'a pas ce codage sous Windows.

Comment je pourrais remédier à ce problème?