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 :

Créer un mini-shell dans une application


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 71
    Points : 61
    Points
    61
    Par défaut Créer un mini-shell dans une application
    bonjour,

    je souhaite créer une espèce de shell pour une application (sous linux). je voudrais qu'à chaque fois que l'on appuie sur Entrée, il y ait un invite de commande ("#> ") qui s'affiche. le problème, c'est qu'avec un "cin >> maChaine ;", la pression sur Entrée n'est pas détectée... enfin je veux dire par là que le code ne passe pas après la ligne du "cin >> ...". quelqu'un aurait une idée? le pire c'est que je l'ai déjà fais mais j'ai pas accès à mes sources

    voilà mon code en gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    bool wait = true ;
    string cmd ;
    while (wait) {
    	cin >> cmd ;
    	if (cmd == "\n")
    		cout << "#> " ;
    	else if (cmd == "EXIT")
    		wait = false ;
    }
    mais ca veut pas..

  2. #2
    Membre actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 263
    Points
    263
    Par défaut
    Essaye avec
    all your base are belong to us.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(cmd.size() == 0)
       cout << "#> ";
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 71
    Points : 61
    Points
    61
    Par défaut
    Merci à vous pour vos réponses

    ce code ne compile pas

    mais de toute façon, le problème n'est pas là, il est en amont : lorsqu'on appuie sur Entrée, mon application est toujours sur la ligne "cin >> cmd ;", en attente que quelque chose soit tappé au clavier. en gros, le "cin" ne détecte pas qu'on appuie sur Entrée (d'ailleurs si on tappe des espaces puis Entrée, le résultat est le même, il attend toujours une chaine avec des "vrais" caractères). je suppose qu'il faut que j'utilise autre chose que "cin" en fait. mais quoi...

  5. #5
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    Salut,

    as-tu pensé à utiliser une bibliothèque comme OIS ? http://www.wreckedgames.com/forum/

    C'est généralement utilisé avec le moteur Ogre3D mais il me semble que c'est en fait indépendant. Ca permet de gérer les entrées sorties mouse, keyboard et joystick.

    a+

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Si tu veux lire des lignes: getline et pas operator>>.

    Si un des objectifs n'est pas d'apprendre à faire quelque chose du genre, je conseille d'utiliser quelque chose prévu pour et déjà existant (TCL est le premier qui me vient à l'esprit mais il y en a beaucoup d'autres).
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 71
    Points : 61
    Points
    61
    Par défaut
    merci beaucoup ! getline marche super !

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

Discussions similaires

  1. Créer un mini moteur de recherche dans une application Windows 8
    Par danieldou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/11/2013, 21h32
  2. Réponses: 1
    Dernier message: 05/11/2009, 09h08
  3. plusieurs Shell dans une application SWT/JFace
    Par Hypercube dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 30/03/2009, 15h23
  4. Réponses: 23
    Dernier message: 28/09/2007, 13h16
  5. Créer un mail dans une application
    Par Cedced dans le forum Windows
    Réponses: 1
    Dernier message: 03/10/2005, 11h35

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