Posez votre question Signaler

[C++/Linux] utilisé les cmd shell dans prog [Résolu]

Char Snipeur 5034Messages postés 23 avril 2004Date d'inscription 25 mai 2012Dernière intervention - Dernière réponse le 18 mai 2006 à 14:23
Bonjour,
Voila, j'ai programmé une calculatrice en C++, qui resemble un peu à Octave (ou bc pour ceux qui connaisent). C'est un programme console
Sous XP, une foi le prog lancer, je peux éditer la ligne : insérer, supprimer, etc...
et de plus, j'ai un genre d'historique, quand j'utilise la fleche haut, je rapel la précedente ligne.
Maintenant, je passe le prog sous Linux où il fonctionne correctement.
MAIS ! impossible d'éditer la ligne et d'avoir l'historique. des que j'utilise une touche comme les fleches ou delete, il me met des caractères immondes ('^[A' ou '[[^+' ).
Comment pouvoir editer les lignes?
Merci
Lire la suite 

[C++/Linux] utilisé les cmd shell dans prog »

6 réponses
Réponse
-1
moins plus
personne ne sait?
Si le mesage est peu clair, je peux donner des précision.
Merci
Ajouter un commentaire
Réponse
-1
moins plus
Personne?
Est-ce un pb de librairie, d'option de compilation, ou impossible?
Ajouter un commentaire
Réponse
-1
moins plus
Salut,

Je ne sais pas si ce que je vais avancer sera compatible avec ton programme, mais peut être que ça pourra te mettre sur la piste...

Voilà, sous une version de Mandriva (10.0), j'avais installé un shell "ksh" depuis les sources dans un répertoire de mon "/home" et à chaque changement de shell (bash par défaut) pour passer en shelle ksh, ben j'avais les mêmes problèmes et après une recherche sur le Net, j'avais trouvé la parade : il suffisait de lancer la commande "set -o emacs" ou "set -o vi".
Bon dans ce cas il s'agit en fait d''initialiser un genre de variable.
Donc peut être qu'un simple appel similaire pour ton programme pourrait faire l'affaire... enfin j'espère ;-))
Ajouter un commentaire
Réponse
-1
moins plus
salut,
Sous linux, pour pouvoir éditer la ligne de commande, faut intégrer la
lib readline : http://cnswww.cns.cwru.edu/~chet/readline/rltop.html
A+, crabs
Ajouter un commentaire
Réponse
-1
moins plus
merci pour vos réponses !
la méthode de jipicy ne fonctionne malheuresement pas.
Quand à celle de crabs, j'ai pas tout compris, notamment, quelle fichier inclure. Je vais me pencher sérieusement sur le lien en espérant en tirer quelques chose.
Ajouter un commentaire
Réponse
-1
moins plus
OK ! Super, merci crabs
En fait, il faut ajouter #include <readline.h> et <history.H>
et ensuite remplacer le getline(cin,don)
par un
don=readline(0);
et
add_history(don);
Voila, comme ça on récupère tout, et c'est très simple.
Ajouter un commentaire
Ce document intitulé « [C++/Linux] utilisé les cmd shell dans prog » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?