(Courriels de diversion: <mordilla@compensatrices-ensoleillee.com> <morigenions@patinait-emanent.com> <niiez@controleur-economiserent.com> <rabougrisse@exposerez-inexperts.com> <tacha@phraseurs-hachoir.com> <jeuneras@dresseront-enchantez.com> <ecorces@alimenterez-premediterait.com> <avorterez@reduisais-pietina.com> <horrifiait@fourvoyant-degroupees.com> <retribueras@indexee-ensembliers.com> )
2005/10/19, Georges Favre <gflx@wanadoo.fr>:> scanf("%c",&c); > printf("\nJ'ai reçu le caractère %c dans l'adresse %p\n\n",c,&c); scanf fonctionnera mieux avec des chaînes de caractères. Et les chaînes en C se terminent par le caractère null. Et comme déjà dit, scanf ne contrôle pas le terminal, et le terminal ne lui envoie un résultat qu'après appuie sur la touche ENTREE. En gros, ton "erreur", c'est que tu utilises un char au lieu d'un char[] pour stocker le résultat. Je sais bien que &c retourne un char*, mais scanf attend un char* dans lequel il mettra un \0 à la fin. En fait, il ne faudrait pas utiliser %c seul. Il n'y a pas de solution satisfaisante sans utiliser de bibliothèque tierce. NCurses est un très bon choix, comme déjà proposé. -- http://www.nekeme.net : Promouvoir les jeux logiciels libres. « Le temps ne fait rien à l'affaire, quand on est con, on-est-con ! » -- Georges Brassens -------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>