Je suis nouveau à cpp dans mac. J'ai eu une erreur lorsque j'ai utilisé kbhit() dans mon programme. J'ai utilisé #include mais j'ai aussi eu une erreur, donc j'ai cherché et testé aveC#include mais l'erreur est toujours restée. alors plz aidez-moi. merci d'avance.kbhit() dans mac
0
A
Répondre
1
kbhit() n'est pas standard. En fait, je ne crois pas qu'il existe une fonction standard pour détecter les entrées au clavier. Le mieux que vous puissiez faire est de lire un caractère de stdin en utilisant par ex. fgetc, et j'espère que ce n'est pas redirigé ailleurs.
1
Aucune idée si cela fonctionnerait sur Mac, mais voici un code que j'ai utilisé pour obtenir une seule touche sur Linux.
int mygetch() {
char ch;
int error;
static struct termios Otty, Ntty;
fflush(stdout);
tcgetattr(0, &Otty);
Ntty = Otty;
Ntty.c_iflag = 0; /* input mode */
Ntty.c_oflag = 0; /* output mode */
Ntty.c_lflag &= ~ICANON; /* line settings */
#if 1
/* disable echoing the char as it is typed */
Ntty.c_lflag &= ~ECHO; /* disable echo */
#else
/* enable echoing the char as it is typed */
Ntty.c_lflag |= ECHO; /* enable echo */
#endif
Ntty.c_cc[VMIN] = CMIN; /* minimum chars to wait for */
Ntty.c_cc[VTIME] = CTIME; /* minimum wait time */
#if 1
/*
* use this to flush the input buffer before blocking for new input
*/
#define FLAG TCSAFLUSH
#else
/*
* use this to return a char from the current input buffer, or block if
* no input is waiting.
*/
#define FLAG TCSANOW
#endif
if ((error = tcsetattr(0, FLAG, &Ntty)) == 0) {
error = read(0, &ch, 1); /* get char from stdin */
error += tcsetattr(0, FLAG, &Otty); /* restore old settings */
}
return (error == 1 ? (int) ch : -1);
}
Questions connexes
- 1. Quel est l'équivalent kbhit pour Windows CE?
- 2. Obtenir l'adresse MAC dans Silverlight
- 3. Fenêtre Mac HUD dans Qt
- 4. Différences dans le système_profil Mac
- 5. Impossible de mettre TERM .bashrc dans Mac
- 6. Deux exécutables dans un paquet sur MAC
- 7. sIFR ne fonctionne pas dans FF3 Mac
- 8. Meta et # dans un terminal mac anglais
- 9. emplacement des extensions Firefox dans Mac OS?
- 10. Impossible de démarrer XMonad dans Mac
- 11. Raccourcis clavier Eclipse dans Mac OSX
- 12. comment surveiller le processus dans Mac
- 13. Commenter des blocs dans Eclipse sur Mac
- 14. setLeftCapWidth sur le mac?
- 15. TSVNCache.exe chauffe mon Mac
- 16. windows + Mac + app
- 17. brisé Java Mac 10.6
- 18. Glassfish v3 Mac
- 19. Transformation Windows vers Mac
- 20. Awaking Mac par programmation
- 21. Mac iWork/Pages Automation
- 22. mac screensaver start event
- 23. cvs pour Mac OSX
- 24. Mac OSX - Xcode Répertoire d'installation
- 25. Installer sqlite3 sur mac osx?
- 26. Application Autostart Mac par programme
- 27. Qt4Dotnet sur Mac OS X
- 28. Comment pixelliser une chaîne (mac)
- 29. Mac 10.4 Fichiers de synchronisation
- 30. Extension PHP sur un Mac
S'il vous plaît donner un exemple de code qui produit l'erreur et le message d'erreur –
Voir ma réponse à une question connexe à http://stackoverflow.com/questions/448944/c-non-blocking- clavier-entrée # 448982 – Alnitak