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 :
[Linux] Utiliser la commande 'su' Voir Pré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...
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...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
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...
[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...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
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...

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