IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Mettre en mémoire le buffer clavier


Sujet :

C

  1. #1
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut Mettre en mémoire le buffer clavier
    Bonjour,

    Je voulais savoir s'il était possible de récupérer le buffer clavier pour le mettre en mémoire à l'issue d'un ctrl+c et ensuite l'enregistrer dans un fichier ?

    Merci.

  2. #2
    Membre chevronné Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Par défaut
    Un handler sur interrupt ou tu récupère stdin ?
    Le seul problème, sans trop m'avancer, c'est que tu pourra jamais être sur que c'est bien le clavier qui est "branché" sur stdin...

  3. #3
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut
    Oui peut être, je demande car je n'ai aucune idée de comment faire.
    Je pensais qu'il y aurait peut être une chaine définie qu'on pouvait directement utiliser mais apparemment pas

    Pourrais tu s'il te plait un peu plus développer car ce que tu dis ne m'évoque rien ?

    Sinon s'il y a autre chose de brancher que le clavier sur stdin ce n'est pas grave. Je sais quel format de données récupérer. Après j'applique un filtre et j'élimine ce que je ne veux pas.

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par darkwall_37 Voir le message
    Pourrais tu s'il te plait un peu plus développer car ce que tu dis ne m'évoque rien ?
    En fait le but est d'utiliser la gestion des signaux grâce à la fonction signal. Il faut capturer le signal SIGTSTP (SIGSTOP ne peut être capturé)... enfin sur Linux en tous cas. Le but est en fait d'attacher une fonction à ce signal pour faire ce que tu souhaite
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre chevronné Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Par défaut
    ctrl-c, ça envoie pas SIGINT plutôt ?

    1 - Y a un truc sur la faq qui montre comment vider stdin.
    2 - Honnêtement, j'ai pas trop le temps de te faire un cours sur les signal, et leur primitives (presque les plus pénible du monde du c). Piste : signal / sigaction.

  6. #6
    Membre éclairé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Par défaut
    je tourne sous windows...

  7. #7
    Membre chevronné Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Par défaut
    Windows c'est pas bo, mais ça change rien sur le principe, juste les primitive...

    Comme je suis vraiment gentil :
    Signal sur msdn...

    Donc, on récapitule, tu va voir sur la faq pour comment vider le buffers clavier (boucle à base de getch, préfère _getch); puis tu met tout ça dans ta fonction d'inteeruption et tu fais comme l'exemple de msdn.

    Et si tu comprend pas pourquoi ça marche, ben tu diras ce qui te bloque, et on essayera de t'expliquer.

  8. #8
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par Lavock Voir le message
    ctrl-c, ça envoie pas SIGINT plutôt ?
    Si exacte, SIGTSTP (identique à SIGSTOP mais lui ne peut être capturé) c'est pour Ctrl-Z, du moins en POSIX !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. purger le buffer clavier
    Par Remedy dans le forum C++
    Réponses: 8
    Dernier message: 15/05/2006, 18h21
  2. Lire buffer clavier sous DOS
    Par rjulie dans le forum C
    Réponses: 3
    Dernier message: 05/04/2006, 17h25
  3. [MFC] Buffer clavier
    Par Marthym dans le forum MFC
    Réponses: 4
    Dernier message: 16/11/2005, 09h51
  4. Le buffer clavier avec cin, et getch()
    Par Info420 dans le forum SL & STL
    Réponses: 1
    Dernier message: 06/12/2004, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo