/*****PROGRAMME DE FRAPPE AU CLAVIER *****/ #include #include #include #include #include #include int filedes[2]; void *read_char() { char c; printf("Saisit une routine pour lire un caractère.........\n"); while(1) { /* Obtient un caractère dans 'c' sauf '\n'. */ c = getchar(); if(c == '\n') c = getchar(); write(filedes[1], &c, 1); if(isalnum(c)) { sleep(2); exit(1); } } } void *check_hit() { char c; printf("Saisit une routine pour vérifier la frappe.........\n"); while(1) { read(filedes[0], &c, 1); 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; pthread_t tid1, tid2; pipe(filedes); /* Crée un fil d'exécution pour lire les caractères. */ i = pthread_create(&tid1, NULL, read_char, NULL); /* Crée un fil d'exécution pour vérifier la frappe de n'importe quelle touche du clavier. */ i = pthread_create(&tid2, NULL, check_hit, NULL); if(i == 0) while(1); return 0; }