URL: https://linuxfr.org/forums/programmation-c--2/posts/resolu-caracteres-composes Title: [Résolu] Caractères composés Authors: mistiru Date: 2013年03月28日T21:22:24+01:00 License: CC By-SA Tags: Score: 0 Bonjour, bonsoir, J'ai un petit soucis avec les caractères composés. Je vous poste mon code : ```c #include #include #include int ch = 96; int main(int argc, char **argv) { initscr(); raw(); noecho(); keypad(stdscr, TRUE); while(ch != KEY_F(1)) { ch = getch(); clear(); printw("char=%c", ch); refresh(); } endwin(); return 0; } ``` Quand je lance le programme, si je tape sur 'é', ça m'affiche un '?' dans un losange. Normal me diriez-vous, le 'é' n'est pas un unique caractère. Si à la place de '%c', je met '%lc', le programme m'affiche un blanc. Si je met '%s', il y a une erreur de segmentation, logique... Ca fait plusieurs jours que j'essaie de me renseigner, et j'ai trouvé plein de chose, notamment les wint_t (wchar_t) que je récupère avec 'getwchar()'. Le souci, c'est que j'arrive absolument pas à les afficher avec le printw de ncurses. Si mon 'ch' est un 'wint_t', quand je tape 'printw("char=%c", ch); le code fonctionne et plante des que je tape 'é'. (même si je met '%lc') Enfin bref, ça fait maintenant deux jours que je cherche, et je sature. Est-ce que quelqu'un connait le moyen de pouvoir afficher un caractère composé récupéré dans l'entrée standard avec printw ? Merci d'avance pour les réponses ! mistiru

AltStyle によって変換されたページ (->オリジナル) /