Rechercher : dans
Par :

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

Dernière réponse le 18 mai 2006 à 14:23:50 Char Snipeur, le 5 mai 2006 à 10:51:34 
 Signaler ce message aux modérateurs

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 Salutation !
Char Snipeur

Meilleures réponses pour « [C++/Linux] utilisé les cmd shell dans prog » dans :
Guide d'utilisation du Shell pour débutant Voir SHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
[Linux] Utiliser la commande 'su' VoirPréambule Se connecter sous un autre ID utilisateur avec "su" Démarrer un nouveau shell de connexion avec "su -" Revenir au shell précédent Suspendre le shell du compte root Notes Préambule La commande "su" (Switch User, appelée plus...
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...
Linux - L'installation de logiciels VoirLes différents types d'archives Basiquement il existe plusieurs façons de récupérer une application fonctionnant sous Linux : Sous forme de paquetage RPM. Il s'agit d'un fichier portant l'extension .rpm permettant une installation automatique,...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...

1

Char Snipeur, le 9 mai 2006 à 12:23:58

Personne ne sait?
Si le mesage est peu clair, je peux donner des précision.
Merci Salutation !
Char Snipeur

Répondre à Char Snipeur

2

Char Snipeur, le 16 mai 2006 à 12:48:15

Personne?
Est-ce un pb de librairie, d'option de compilation, ou impossible? Salutation !
Char Snipeur

Répondre à Char Snipeur

3

jipicy, le 16 mai 2006 à 13:30:45

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 ;-))
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

crabs, le 16 mai 2006 à 17:48:54

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 ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

5

Char Snipeur, le 18 mai 2006 à 13:03:12

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

6

 Char Snipeur, le 18 mai 2006 à 14:23:50

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. Salutation !
Char Snipeur

Répondre à Char Snipeur