Arrête le saisir après certains temps d'attendre
Fermé
sekmani52
Messages postés
4
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
5 juillet 2017
-
28 juin 2017 à 19:53
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 29 juin 2017 à 14:16
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 29 juin 2017 à 14:16
A voir également:
- Arrête le saisir après certains temps d'attendre
- Rech. ou saisir l'url - Guide
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Renommer plusieurs fichiers en même temps - Guide
- My launcher s'arrête systématiquement ✓ - Forum Téléphones & tablettes Android
3 réponses
Felice_
Messages postés
265
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
11
28 juin 2017 à 20:06
28 juin 2017 à 20:06
Bonjour sekmani52,
Peut-être devrais-tu travailler directement avec le fichier « stdin » ?
Peut-être devrais-tu travailler directement avec le fichier « stdin » ?
sekmani52
Messages postés
4
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
5 juillet 2017
28 juin 2017 à 20:45
28 juin 2017 à 20:45
Bonjour Felice je travaille avec geany sous raspbian c'est un code d'une circuit avec raspberry mais je bloqué dans le code
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié le 29 juin 2017 à 14:18
Modifié le 29 juin 2017 à 14:18
Salut sekmani52,
Ta question n'est pas très compréhensible.
Mais la façon de faire la plus commode est probablement d'utiliser ncurses pour gérer la pression de touches sur le clavier de façon non bloquante.
Ensuite, si tu dois gérer le temps, tu peux utiliser les fonctions C standard time() et difftime(), pour gérer un timer basique à la seconde (ou sous Linux gettimeofday() pour une gestion à la microseconde).
Voilà un exemple simple, qui affiche les codes ASCII des touches pressées, qui termine le programme lorsque ESC est pressé ou que 10 secondes se sont écoulées :
sekmani52.c :
cela se compile avec :
Dal
Ta question n'est pas très compréhensible.
Mais la façon de faire la plus commode est probablement d'utiliser ncurses pour gérer la pression de touches sur le clavier de façon non bloquante.
Ensuite, si tu dois gérer le temps, tu peux utiliser les fonctions C standard time() et difftime(), pour gérer un timer basique à la seconde (ou sous Linux gettimeofday() pour une gestion à la microseconde).
Voilà un exemple simple, qui affiche les codes ASCII des touches pressées, qui termine le programme lorsque ESC est pressé ou que 10 secondes se sont écoulées :
sekmani52.c :
#include <ncurses.h> #include <stdio.h> #include <time.h> int main(void) { int c; time_t start_time = time(NULL); initscr(); cbreak(); noecho(); nodelay(stdscr, TRUE); scrollok(stdscr, TRUE); printw("ncurses is handling the terminal now, " "press any key and press ESC to end the program\n"); printw("(this program will end in 10 seconds)\n\n"); refresh(); while (1) { c = getch(); if (c != ERR) { printw("You pressed key %d\n", c); refresh(); /* if we pressed ESC, exit the loop */ if (c == 27) break; } else { /* do something else */ /* keep track of elapsed time */ time_t now = time(NULL); double elapsed = difftime(now, start_time); /* in any case, exit the loop after 10 seconds */ if (elapsed > 10) break; } } endwin(); printf("We are out of ncurses now, you pressed ESC key, " "or the 10 seconds execution were over, so the " "program ends now\n"); return 0; }
cela se compile avec :
gcc -Wall sekmani52.c -lncurses
Dal