voila une question probablement déja posée mais a laquelle je n'ai pas
trouvé de réponse:
je trouve sur le net un tres petit programme que je modifie pour
afficher le code numerique des touches du clavier:
#include <stdio.h>
int main ()
{
char c;
puts ("impression de la touche pressee jusque .\n");
while ((c = getchar()) != EOF)
printf("touche: %d\n",c);
return 0;
}
je m'attend a ce qu'a chaque pression sur une touche il y ait affichage
de touche: suivi de la valeur numerique associee a la touche
mais non!
voila ce qu'affiche l'ecran lorsque j'appuie sur les touches
successivement a,z,e puis <entree>
aze
touche: 97
touche: 122
touche: 101
touche: 10
qui pourrait m'expliquer ce fonctionnement? getchar() n'est-il pas censé
retourner des qu'un caractere est frappé au clavier?
question subsidiaire: j'ai essayé de rechercher sur googlegroups de des
messages traitant ce probleme sur fr.comp.lang.c mais je n'ai pu
retrouver la methode a suivre, il semble que ce ne soit plus possible.
comment faites-vous pour faire des recherches dans les archives des
groupes de news?
merci d'avance pour votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Luc.Habert.00__arjf
daniel :
je m'attend a ce qu'a chaque pression sur une touche il y ait affichage de touche: suivi de la valeur numerique associee a la touche mais non!
C'est une question de buffering. Les terminaux sont, par défaut, bufferisés ligne par ligne (ce qui permet une édition de lgine minimale). Le noyau n'envoie ton « azen » à ton programme que lorsque tu appuyes sur entrée.
daniel :
je m'attend a ce qu'a chaque pression sur une touche il y ait affichage
de touche: suivi de la valeur numerique associee a la touche
mais non!
C'est une question de buffering. Les terminaux sont, par défaut, bufferisés
ligne par ligne (ce qui permet une édition de lgine minimale). Le noyau
n'envoie ton « azen » à ton programme que lorsque tu appuyes sur entrée.
je m'attend a ce qu'a chaque pression sur une touche il y ait affichage de touche: suivi de la valeur numerique associee a la touche mais non!
C'est une question de buffering. Les terminaux sont, par défaut, bufferisés ligne par ligne (ce qui permet une édition de lgine minimale). Le noyau n'envoie ton « azen » à ton programme que lorsque tu appuyes sur entrée.
Nicolas George
Luc Habert, dans le message <iq8hpd$jhm$, a écrit :
C'est une question de buffering. Les terminaux sont, par défaut, bufferisés ligne par ligne (ce qui permet une édition de lgine minimale). Le noyau n'envoie ton « azen » à ton programme que lorsque tu appuyes sur entrée.
Ce n'est pas vraiment une question de buffering, c'est une question d'édition de ligne. On peut le désactiver avec stty cbreak.
Luc Habert, dans le message <iq8hpd$jhm$1@news.ens.fr>, a écrit :
C'est une question de buffering. Les terminaux sont, par défaut, bufferisés
ligne par ligne (ce qui permet une édition de lgine minimale). Le noyau
n'envoie ton « azen » à ton programme que lorsque tu appuyes sur entrée.
Ce n'est pas vraiment une question de buffering, c'est une question
d'édition de ligne. On peut le désactiver avec stty cbreak.
Luc Habert, dans le message <iq8hpd$jhm$, a écrit :
C'est une question de buffering. Les terminaux sont, par défaut, bufferisés ligne par ligne (ce qui permet une édition de lgine minimale). Le noyau n'envoie ton « azen » à ton programme que lorsque tu appuyes sur entrée.
Ce n'est pas vraiment une question de buffering, c'est une question d'édition de ligne. On peut le désactiver avec stty cbreak.
Lucas Levrel
Le 9 mai 2011, daniel a écrit :
question subsidiaire: j'ai essayé de rechercher sur googlegroups de des messages traitant ce probleme sur fr.comp.lang.c mais je n'ai pu retrouver la methode a suivre, il semble que ce ne soit plus possible. comment faites-vous pour faire des recherches dans les archives des groupes de news?
Le site hilpers.fr a une archive de groupes fr. Du coup on peut faire des recherches du type : site:hilpers.fr comp.lang.c getchar (enlever le fr.)
Mais Google ne met pas à jour très souvent le contenu de ce site, donc ça ne trouve pas forcément les fils récents.
-- LL
Le 9 mai 2011, daniel a écrit :
question subsidiaire: j'ai essayé de rechercher sur googlegroups de des
messages traitant ce probleme sur fr.comp.lang.c mais je n'ai pu retrouver la
methode a suivre, il semble que ce ne soit plus possible.
comment faites-vous pour faire des recherches dans les archives des groupes
de news?
Le site hilpers.fr a une archive de groupes fr. Du coup on peut faire
des recherches du type : site:hilpers.fr comp.lang.c getchar
(enlever le fr.)
Mais Google ne met pas à jour très souvent le contenu de ce site, donc ça
ne trouve pas forcément les fils récents.
question subsidiaire: j'ai essayé de rechercher sur googlegroups de des messages traitant ce probleme sur fr.comp.lang.c mais je n'ai pu retrouver la methode a suivre, il semble que ce ne soit plus possible. comment faites-vous pour faire des recherches dans les archives des groupes de news?
Le site hilpers.fr a une archive de groupes fr. Du coup on peut faire des recherches du type : site:hilpers.fr comp.lang.c getchar (enlever le fr.)
Mais Google ne met pas à jour très souvent le contenu de ce site, donc ça ne trouve pas forcément les fils récents.
-- LL
daniel
Merci a tous pour ces reponses! (je commençais à m'arracher mes derniers cheveux :-) )
Merci a tous pour ces reponses! (je commençais à m'arracher mes derniers
cheveux :-) )