Valeur Ascii de la Touche Entrée dans C - Unix
Je voudrais print "Vous avez appuyé sur la touche Entrée" lorsque l'utilisateur frappe de la Touche Entrée.
Merci de m'aider à écrire un Programme C.
Ce qui concerne,
Kiran.
Vous devez vous connecter pour publier un commentaire.
notes: vous pouvez configurer votre terminal en mode raw, et cela varie d'un système à un. dans ce cas, le terminal peut être configuré par défaut pour cuites mode, de sorte que le pilote de terminal à partir de l'os pourrait pas vous donner un caractère à la fois jusqu'à ce que vous appuyez sur la touche entrée.
pour changer votre terminal en mode raw, vous pourriez avoir besoin de vérifier l'ioctl()'s nécessaires pour votre système d'exploitation (si vous spécifiez un, je pourrais peut-être aider)
La touche entrée elle-même n'a pas un caractère ASCII, il a un scan code.
'\n'
est la ligne ASCII fin pour UNIX,"\r\n"
sur Windows, et'\r'
sur Mac.Le scan code est spécifique à un matériel donné le nombre qui se traduit par la application dans un personnage.
Où voulez-vous capturer les clés de la presse?
Cela dépend de votre terminal modes de saisie, en particulier sur
ICRNL
. Voir la termios(3) page de manuel.En supposant que vous dire un RETOUR CHARIOT, il est ASCII 13 ou Hexadécimal 0x0D (d'où mon nom d'utilisateur 0A0D). Si vous voulez dire saut de LIGNE, il est ASCII 10 ou Hexadécimal 0x0A. Je vais vous permettent d'améliorer votre question plus avant de me répondre.
char
ouint
? Essayez de changer l' == 27 == 13 ou == 10.Chaque fois que vous voulez obtenir une valeur ascii à rien de faire un "getche ()", il affichera un characher pressé.
Si vous exécutez le programme et appuyez sur entrée et d'obtenir la valeur ascii.
Pour entrer et de s'échapper de ses 27 & 13 .. ne me souviens pas de ce qui appartient à qui
Si vous ne souhaitez pas utiliser un nombre magique vous pouvez utiliser un caractère: C il sait que '\r'
'\n'
), et certains systèmes utilisent une combinaison des deux.