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 :

Récupérer le buffer de facon dynamique


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut Récupérer le buffer de facon dynamique
    Bonjour,
    Je voudrais pouvoir récupérer le buffer clavier de façon dynamique sur la console. Avec les fonctions que je connais actuellement, le cin bloque le programme tant qu'on a pas appuyé sur entrée... Ou il lit le buffer, mais empêche la saisie clavier...
    Mon but est de créer un chat en mode console. J'ai déjà créer une première version de programme. Le problème est que quand je reçois un message du réseau la chaine qu'on est en train d'écrire est coupée en deux par celle qui vient de s'afficher. Ce qui est plutôt gênant :s
    Éventuellement, si vous avez une autre solution, je suis preneur

    Merci de m'aider

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Salut,

    Tu peux nous montrer le code qui s'occupe de récupérer l'entrée de l'utilisateur ?

  3. #3
    Nouveau candidat au Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut
    Voici le code. C'est pas la structure la plus adapté pour ce qu'elle fait mais je l'ais gardé si je trouve cette fonction miracle qui me permettrait de lire le buffer ><.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    //cette fonction est appelé a chaque tour de boucle du thread
    //elle renvois false quand on entre la commande /q ( commande permettant de quitter)
    bool GetPeerInput( std::string &messageToSend, std::string &input)
    {
        char buffer = cin.get(); //on lit lettre a lettre le buffer ( une lettre par execution de la fonction.
        //c'est ici que je voudrais mettre la fonction qui permet de lire le buffer de facon non bloquante...
     
        if ( buffer == '\n')
        {
            if ( input == "/q")
            { //ici on traite diverse commandes, je les ais enlevées pour alléger le code
            }
            else if ( !input.empty() && input[0] != '\n')
            {
                messageToSend = input;
            }
            input.clear();
        }
        else
        {
            input.push_back( buffer);
        }
     
        return true;
    }

Discussions similaires

  1. récupérer un tableau de facon dynamique
    Par amel95140 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 21/12/2006, 09h57
  2. Réponses: 2
    Dernier message: 25/08/2006, 14h06
  3. Generer une table d'une facon dynamique avec hibernate
    Par oughlad dans le forum Hibernate
    Réponses: 6
    Dernier message: 12/07/2006, 15h57
  4. Compilation de code de facon dynamique
    Par Kiwi dans le forum Général Java
    Réponses: 5
    Dernier message: 04/05/2006, 13h49
  5. récupérer la memoire et tableau dynamique
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 06/01/2003, 08h02

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