Programmation » [C++] Quelle librairie ?
[C++] Quelle librairie ?
Publié le 29/07/2008 @ 14:47:44,
Par blietaerBonjour,
Une fois n'est pas coutûme, parlons un peu informatique sur ce forum.
Je voudrais commencer une petite application, et quant à faire, je préfère en C++, mais j'ai une fâcheuse tendance à écrire du C en C++ (je suis même capable d'y foutre des printf() !! ) avec des objets/classes en plus
Ici ce serait juste en command-line mais avec une disposition un peu plus facile (genre des lignes qui peuvent se ré-écraser à l'écran..sans toutefois rentrer dans du libcurses)
Une idée des bonnes libriaires/habitudes à prendre une fois pour toutes ?
Et sinon
Une fois n'est pas coutûme, parlons un peu informatique sur ce forum.
Je voudrais commencer une petite application, et quant à faire, je préfère en C++, mais j'ai une fâcheuse tendance à écrire du C en C++ (je suis même capable d'y foutre des printf() !! ) avec des objets/classes en plus
Ici ce serait juste en command-line mais avec une disposition un peu plus facile (genre des lignes qui peuvent se ré-écraser à l'écran..sans toutefois rentrer dans du libcurses)
Une idée des bonnes libriaires/habitudes à prendre une fois pour toutes ?
Et sinon
Et au besoin s'arrêter.
[C++] Quelle librairie ?
Publié le 29/07/2008 @ 15:57:46,
Par philfrCommand line linux ou aussi windows ?
Dernière ligne qui peut s'écraser et c'est tout ?
Affichage de lignes un peu partout sur une console ?
Console redimensionnable ?
Peut-être te faut-il juste des codes ANSI ?
Dernière ligne qui peut s'écraser et c'est tout ?
Affichage de lignes un peu partout sur une console ?
Console redimensionnable ?
Peut-être te faut-il juste des codes ANSI ?
[C++] Quelle librairie ?
Publié le 29/07/2008 @ 16:02:40,
Par blietaerCommand line linux ou aussi windows ?
Mmh je dirais Linux seulement.
En fait oui, ou alors tout un écran rafraichi.
Ca serait le top.
Pas spécialement, un plus (je suppose que tu penses à du xterm?)
Peut-être...
Dernière édition: 29/07/2008 @ 16:11:55
Et au besoin s'arrêter.
[C++] Quelle librairie ?
Publié le 29/07/2008 @ 16:40:12,
Par philfrEssaie un truc comme ça:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
setvbuf(stdout, (char*)NULL, _IONBF, 0);
printf("^[[2J");
printf("^[[25B");
printf("^[[s");
printf("Hello, world");
sleep(1);
printf("\rHello, 1 world");
sleep(1);
printf("\rHello, 2 world");
sleep(1);
printf("\rHello, 3 world");
sleep(1);
printf("\rHello, 4 world");
printf("^[[10;20H");
printf("Hello, A world\n");
sleep(1);
printf("^[[7;24H");
printf("Hello, B world\n");
sleep(1);
printf("^[[5;28H");
printf("Hello, C world\n");
printf("^[[u");
exit(0);
}
Edit: évidemment, le ^[ c'est un caractère escape que vim permet d'entrer avec ctrl-V <ESC>
Mais je joins le fichier
Dernière édition: 29/07/2008 @ 17:02:45
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
setvbuf(stdout, (char*)NULL, _IONBF, 0);
printf("^[[2J");
printf("^[[25B");
printf("^[[s");
printf("Hello, world");
sleep(1);
printf("\rHello, 1 world");
sleep(1);
printf("\rHello, 2 world");
sleep(1);
printf("\rHello, 3 world");
sleep(1);
printf("\rHello, 4 world");
printf("^[[10;20H");
printf("Hello, A world\n");
sleep(1);
printf("^[[7;24H");
printf("Hello, B world\n");
sleep(1);
printf("^[[5;28H");
printf("Hello, C world\n");
printf("^[[u");
exit(0);
}
Edit: évidemment, le ^[ c'est un caractère escape que vim permet d'entrer avec ctrl-V <ESC>
Mais je joins le fichier
Fichier: file_84610_ok.c
( 725 B - 305 )
Dernière édition: 29/07/2008 @ 17:02:45
[C++] Quelle librairie ?
Publié le 30/07/2008 @ 09:48:29,
Par blietaerJe vois un peu les possibilités.
Merci d'avoir pris le temps de taper cela.
On est d'accord que c'est du pure C (ce qui ne pose aucun problème, au contraire: je suis de ceux qui ne font qu'une maigre différence avec le C++)
Le résultat est un peu sureprenant: je n'avais pas fait un clear de mon terminal, ca se ballade un peu partout !
Merci.
Merci d'avoir pris le temps de taper cela.
On est d'accord que c'est du pure C (ce qui ne pose aucun problème, au contraire: je suis de ceux qui ne font qu'une maigre différence avec le C++)
Le résultat est un peu sureprenant: je n'avais pas fait un clear de mon terminal, ca se ballade un peu partout !
Merci.
Et au besoin s'arrêter.
[C++] Quelle librairie ?
Publié le 27/03/2009 @ 11:29:26,
Par blietaerAllez..soyons fous...
http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/printw.html
http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/printw.html
Et au besoin s'arrêter.
[C++] Quelle librairie ?
Publié le 27/03/2009 @ 12:35:06,
Par arckaussOuais en effet, ncurses est niquel pour ça, sinon va falloir commencer à chipoter avec les séquences d'échappement et tout le basard, c'est assez lourd je trouve...
En plus, il y a un portage pour windows, au cas ou tu voudrais rendre ton code portable
http://pdcurses.sourceforge.net/
Et si tu veux faire du c++, apparemment il y a un development kit ici : http://ndk-xx.sourceforge.net/.
Mais je l'ai pas testé, je n'ai fait que du C avec ncurses.
C'est marrant car j'ai commencé un projet tout récemment avec ncurses, donc si t'as besoin d'un tuyau ou de code (notamment tout un systeme de barre de menu), n'hésite surtout pas à demander.
M'en vais d'ailleurs bosser sur les formulaires
En plus, il y a un portage pour windows, au cas ou tu voudrais rendre ton code portable
http://pdcurses.sourceforge.net/
Et si tu veux faire du c++, apparemment il y a un development kit ici : http://ndk-xx.sourceforge.net/.
Mais je l'ai pas testé, je n'ai fait que du C avec ncurses.
C'est marrant car j'ai commencé un projet tout récemment avec ncurses, donc si t'as besoin d'un tuyau ou de code (notamment tout un systeme de barre de menu), n'hésite surtout pas à demander.
M'en vais d'ailleurs bosser sur les formulaires
[C++] Quelle librairie ?
Publié le 27/03/2009 @ 12:59:32,
Par ovhPython powa moi je dis
Je n'ai rien à voir avec www.ovh.com
[C++] Quelle librairie ?
Publié le 01/04/2009 @ 15:17:10,
Par blietaerarkauss> si tu as un truc pour "écouter" l'entré clavier et détecter la touche 'q' pour quiter, SANS utiliser un getc() bloquant (le but est que l'appli tourne tant qu'on ne quite pas).
ncruses propose des wgetch() et des timeout(0) mais ce n'est pas concluant...
ncruses propose des wgetch() et des timeout(0) mais ce n'est pas concluant...
Et au besoin s'arrêter.
[C++] Quelle librairie ?
Publié le 01/04/2009 @ 15:34:28,
Par arckaussouep, suffit d'utiliser un while.
Enfin, si j'ai bien compris ce que tu voulais.
On peut le faire aussi avec un while et un switch case, pratique pour les formulaires ou quand y a plein de touches :
Dernière édition: 01/04/2009 @ 15:35:23
Enfin, si j'ai bien compris ce que tu voulais.
- ...
- int key;
- while( key != 'q' )
- {
- key=getch();
- ...
- ...
- }
- ...
On peut le faire aussi avec un while et un switch case, pratique pour les formulaires ou quand y a plein de touches :
- ...
- int key;
- while( (key=getch()) != 'q' )
- {
- switch(key)
- {
- case KEY_DOWN : //par exemple...
- //blabla
- break;
- default :
- break;
- }
- }
- //suite du programme
Dernière édition: 01/04/2009 @ 15:35:23
[C++] Quelle librairie ?
Publié le 01/04/2009 @ 15:52:27,
Par blietaerje ne désire pas utiliser de while() : je travail avec une fonction libpcap, qui ne revient jamais et qui contient (sans doute?) une while() infinie, la seule main mise que je peux avoir, est dans la fonction d'exception qui revient, à chaque paquet lu, c'est à ce moment que je peux vérifier si une touche AVAIT été frappée.
Et au besoin s'arrêter.
[C++] Quelle librairie ?
Publié le 01/04/2009 @ 16:23:25,
Par arckaussFranchement, la je vois pas trop...
Peut-etre threader le getch() et réagir en fonction ?
Je ne suis pas trop sur non plus de voir ce que tu veux faire... Faut dire que j'ai jamais tripoté libpcap...
Je jette un oeil après un ptit rangement plus qu'indispensable et je te tiens au courant.
Peut-etre threader le getch() et réagir en fonction ?
Je ne suis pas trop sur non plus de voir ce que tu veux faire... Faut dire que j'ai jamais tripoté libpcap...
Je jette un oeil après un ptit rangement plus qu'indispensable et je te tiens au courant.