Arrête le saisir après certains temps d'attendre
sekmani52
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche une fonction qui arrête la saisie après certains temps par exemple quand a taper ce code :
Quand j'exécute le programme le compilateur attendre l'utilisateur jusqu'à l'appuis sur un carectere donc si on peut dépassé le saisir et execute le suite de code après certains temp d'attendre comment peut faire ça je fait plusieurs essais avec les boucles "do...while" et "for loop" et "if statment" mais tous ne donnent pas les resultats attendue enfin merci d'avance
Je cherche une fonction qui arrête la saisie après certains temps par exemple quand a taper ce code :
Char v; Printf("donner une caractere"); Scanf("%c",v);
Quand j'exécute le programme le compilateur attendre l'utilisateur jusqu'à l'appuis sur un carectere donc si on peut dépassé le saisir et execute le suite de code après certains temp d'attendre comment peut faire ça je fait plusieurs essais avec les boucles "do...while" et "for loop" et "if statment" mais tous ne donnent pas les resultats attendue enfin merci d'avance
A voir également:
- Arrête le saisir après certains temps d'attendre
- Rech. ou saisir l'url - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Family link le temps ne correspondent pas - Forum Contrôle parental
- Temps validation annonce le bon coin - Forum Hotmail / Outlook.com
- Sécurité s arrête systématiquement ✓ - Forum Mobile
3 réponses
Bonjour Felice je travaille avec geany sous raspbian c'est un code d'une circuit avec raspberry mais je bloqué dans le code
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