/***** PROGRAMME DE FRAPPE AU CLAVIER *****/ #include #include #include #include #include #include #include #include #include extern int errno; void *check_hit() { char c; int fd; int i; printf("Saisissez une routine pour vérifier la frappe.........\n"); while(1) { fd = open("fifo", O_RDONLY); if(fd < 0) { printf("Erreur lors de l'ouverture dans le fifo\n"); printf("Errno est %d\n", errno); continue; } i = read(fd, &c, 1); if(i < 0) { printf("Erreur lors de la lecture du fifo\n"); printf("Errno est %d\n", errno); } if(isalnum(c)) { printf("La touche frappée est %c\n", c); exit(1); } else { printf("La touche frappée est %c\n", c); } } } int main() { int i; i = mkfifo("fifo", 0666); if(i < 0) { printf("Problèmes lors de la création du fifo\n"); if(errno == EEXIST) { printf("Le fifo existe déjà\n"); } printf("Errno est définie en tant que %d\n", errno); } pthread_t tid2; i = pthread_create(&tid2, NULL, check_hit, NULL); if(i == 0) while(1); return 0; }