View previous topic :: View next topic |
Author |
Message |
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Mon Feb 23, 2004 8:14 am Post subject: [langage C] gotoxy sous unix?(resolu) |
|
|
Bonjour,
Je présume que certains d'entre vous connaissent le c. et la fonction gotoxy sous borland qui permet de se placer sur l'ecran.
Sous unix, ca se fait comment??? j'ai trouvé la fonction move qui va avec l'include <curses.h>
et aussi tgoto.
Qqun sait il lequel utiliser car ca ne compile pas chez moi.
J'ai pourtant fait un programme de test tres simple genre move(10,10) et printf("toto");
Ca ne creee meme pas d'executable et l'aide du man ne m'aide pas bien pour voir mon erreur.
Vous connaissez?? _________________ Ouh là là c'est chaud tout ça!!
Last edited by Admin-galere on Tue Mar 02, 2004 3:52 pm; edited 1 time in total |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Mon Feb 23, 2004 9:39 am Post subject: |
|
|
gotoxy c'est pas du C : i.e c'est une bibliotheque specifique a un systeme donne.
Sur unix/linux tu peux jouer qvec ncurses ou alors tripoter carrement les sequences ANSI ... |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Mon Feb 23, 2004 9:43 am Post subject: |
|
|
merci sleeper. oui les librairies semblent etre curses et ncurses mais la fonction c bien move ou tgoto??
Ca s'utilise comment? car j'ai voulu tester et ... je suis reste coince! _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Mon Feb 23, 2004 10:01 am Post subject: |
|
|
Ca fait un moment que j'y aie plus touche .. Ca m'a jamais vraiment emballe .. Mais tu peux regarder ce howto |
|
Back to top |
|
|
cylgalad Veteran
Joined: 18 Apr 2003 Posts: 1327 Location: France
|
Posted: Mon Feb 23, 2004 11:45 am Post subject: |
|
|
Library = bibliothèque en français (cf. tous les dictionnaires franco-anglais de la planète), arrêtez le massacre (et en plus vous me faites radoter !) |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Mon Feb 23, 2004 12:32 pm Post subject: |
|
|
Arf! un puriste pardon mais c'est vrai que la plupart des mots en infos sont des anglicismes.
Un exemple, utilises tu le mot courriel ou mail?Ppour ma part j'utilise mail car courriel et mél c'est trop moche.
Mais bon on se doit de defendre notre bonne langue française!! _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
cylgalad Veteran
Joined: 18 Apr 2003 Posts: 1327 Location: France
|
Posted: Mon Feb 23, 2004 12:57 pm Post subject: |
|
|
Courriel sauf si j'ai la flème (comme tout le monde), sinon "mél" c'est un barbarisme honteux (comme "bogue" pour bug, ou "cédérom" pour cd-rom) que je n'utiliserai jamais.
"Library" c'est un faux-ami
Une librarie c'est "bookshop" : là où on achète des livres, une bibliothèque (library) : là où on entrepose les livres, ce qui correspond très bien aux bibliothèques en informatique. |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Mon Feb 23, 2004 1:23 pm Post subject: |
|
|
oui on est au moins d 'accord sur le fait que bogue, mél... sont des horreurs!!!
Bon je le ferai plus de dire librairie au lieu de bibliotheque.
ok??
Mais me disputes plus!!! _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
theturtle123 l33t
Joined: 19 Sep 2003 Posts: 621 Location: Lille, France
|
Posted: Tue Feb 24, 2004 1:48 pm Post subject: trip |
|
|
hier j'ai acheté un cédérom avec des librairies de C dessus mais en raison d'un bogue j'ai du envoyer un mél à l'auteur...
veuillez m'excuser c'est sorti tout seul |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 2:24 pm Post subject: |
|
|
ha la la ce qu'on se marre!!
Bon on perd notre sujet la: personne ne sait programmer en c sous unix alors?? Vous etes que des administrateurs pas des developpeurs?? _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Tue Feb 24, 2004 2:27 pm Post subject: |
|
|
Ca n'a rien a voir avec du C. C'est l'utilisation d'une bibliotheque .. Je t'ai donne une URL vers le Howto, qui est tres bien fait/ tres bien explique ...
Il suffit de lire. |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 2:35 pm Post subject: |
|
|
ben si c du c qd meme. Si tu veux programmer qqchose de un peu bien presente il faut ca. C'est pas fondamental comme un algo mais bon c une fonction de c.
Je vais retourner voir le howto. merci!! _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Tue Feb 24, 2004 3:08 pm Post subject: |
|
|
Admin-galere wrote: | ben si c du c qd meme. Si tu veux programmer qqchose de un peu bien presente il faut ca. C'est pas fondamental comme un algo mais bon c une fonction de c. |
Encore une fois non. Ce n'est pas une fonction de C. C'est une fonction d'une bibliotheque, que tu appelles dans ton programme C. Elle ne fait pas partie du langage C, et peut etre appellee depuis d'autre langage ... |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 3:14 pm Post subject: |
|
|
pfiou c ce qui s'appelle est tetu ca!
Bon mister le programmeur. On va dire que tu as raison puisqu'en fait je m'en fous. Mais je voulais juste dire que si on sait progammer en c sous linux on sait ca.
Pour ma part je suis plus windows pour le developpement en c et c++. Sauf si c'est du developpement réseaux (ipc, sockets...) ou on est sous linux, mais pas de presentation a faire.
Je ne vois toujours pas la nuance mais bon je dois etre trop idiote
ps: toute fonction de c fait partie d'une bibliotheque et tu dois include cette bibliotheque pour appeler la fonction d'ou mon incomprehension de ta definition. Mais bon laisse tomber c pas important. _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Tue Feb 24, 2004 3:32 pm Post subject: |
|
|
Admin-galere wrote: | Mais je voulais juste dire que si on sait progammer en c sous linux on sait ca.
|
Justement pas forcement ... Je programme sous linux/Un*x depuis qq paires d'annees, et je n'ai eu a utiliser la librairie ncurses qu'une seule fois .. et cela ne m'a pas emballe.
En plus tu peux le faire avec autre chose : par exemple en codant directement des codes ANSI si ton terminal les compren, ou en utilisant une autre bibliotheque http://freshmeat.net/redir/turboc/22623/url_homepage/TurboC, http://users.pandora.be/stes/compiler.html, qui s'appuient sur ncurses ou alors http://space.mit.edu/~davis/slang/ qui fait meme plus que ca ...
Quote: |
Je ne vois toujours pas la nuance mais bon je dois etre trop idiote
ps: toute fonction de c fait partie d'une bibliotheque et tu dois include cette bibliotheque pour appeler la fonction d'ou mon incomprehension de ta definition. Mais bon laisse tomber c pas important. |
C'est pas une definition. Le langage C definit un set de mot-cles, plus un set de fonctions standard ( en gros la stdlib). Par contre il ne definit aucune fonction permettant d'aller en position (x,y) d'un ecran .. Ca depend completement de ton systeme..
C'est donc implemente dans des bibliotheques annexes. ncurses en est une, mais il y en a d'autres .. et tu peux meme faire la tienne si tu preferes jouer avec les codes des terminaux ou les codes ANSI.. C'est en ca que je dis que cela n'est pas du C.
Cette meme bibliotheque peut etre utilisee dans d'autres langages que le C: C++, Perl, Ruby, ..etc... |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 3:36 pm Post subject: |
|
|
oui biensur mais bon le c sans les bibliotheques on irait pas loin!!
Bref, dans le howto c plus pour ncurses et donc wmove qui gere en plus les fenetres.
Il me semblait que ct ptet plus simple d'utiliser move (sans les fenetres).
Tu programmes quoi sous unix? car tout est faisable sous windows mais en mieux. non? _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Tue Feb 24, 2004 3:44 pm Post subject: |
|
|
Admin-galere wrote: |
Tu programmes quoi sous unix? car tout est faisable sous windows mais en mieux. non? |
Tout ce que l'on me demande de programmer .. Ca va de drivers pour des cartes utilisees dans les telecoms, a un cache software qui tourne sur de _grosses_ machines, en passant par des couches d'adaptation entre 2 protocoles telecoms, des traducteurs automatiques, ..etc.., et pis le soir pour chez moi .. un p'tit driver pour un modem ADSL.
Quand a winblows .. j'prefere pas en parler. |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 3:49 pm Post subject: |
|
|
Je dois bien avouer que sur ce forum je pensais rencontrer des fans de unix et des anti-win...
Pour ma part j'aime vraiment Win... mais ce n'est pas de la provoc envers les gens du forum.
Sinon pour programmer un bon vieux cpp builder ou borland ca le fait plus non??
Bon ok je me tais et je sors...
Allez chacun ses gouts _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 3:56 pm Post subject: |
|
|
attends!!!
Je pense que c'etait ca que je cherchais ct dans ton howto sleeper.
Quote: |
mvaddch() is used to move the cursor to a given point, and then print. Thus, the calls:
move(row,col); /* moves the cursor to rowth row and colth column */
addch(ch);
can be replaced by
mvaddch(row,col,ch);
|
ca doit faire un placement en un dessin ca non?? c comme un gotoxy suivit d'un printf. enfin ca demande test. Je faisais move(x,y) et ensuite printf. _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Feb 24, 2004 4:01 pm Post subject: |
|
|
mouais fausse joie ca semble pas marcher comme ca il doit me manquer qqchose genre une biblio...
Ha la la a quand un c portable pour de bon... _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
takezo Tux's lil' helper
Joined: 14 Jan 2003 Posts: 132
|
Posted: Sat Feb 28, 2004 9:33 am Post subject: |
|
|
Code: |
void gotoxy(int l, int c, char *msg)
{
printf("\033[%d;%dH%s\n\r", l, c, msg);
}
|
attention que la logique par rapport à gotoxy est inversée, d'abor ligne (y), puis colonne (x).
sinon pour utiliser ncurses tu as surement oublier de linker la bibliothèque au moment de la compilation
Code: |
gcc -lncurses toto.c
|
|
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Mon Mar 01, 2004 8:21 am Post subject: |
|
|
wouaw merci je n'ai pas encore essaye ton conseil mais j'avais pas du tout pense a linker comme tu le dis!
Merci a toi! je te tiens au courant...
edit:
puis je me permettre de te demander ce que sont:
je ne vois pas trop... _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
takezo Tux's lil' helper
Joined: 14 Jan 2003 Posts: 132
|
Posted: Mon Mar 01, 2004 9:39 am Post subject: |
|
|
Bon, je réponds à la fois à ton post et à ton pm d'un coup ...
la première méthode que je t'ai donnée n'utilise pas ncurses mais les codes ansi, ce qui est une manière standard de mettre en forme des affichages (positionnement, couleurs ... )
c'est normal que l'exemple que tu m'as envoyé ne fonctionne pas, tu dois tout mettre exactement comme moi.
bon, pour les détails : \033 correspond à ESC, et suivit du crochet ouvrant [ , on indique une séquence ansi.
la séquence qu'on utilise ici est celle pour le positionnement, autrement dit :
[code]
\033[4;5Htoto
[code]
affichera toto sur la 4e ligne, 5e colonne.
je ne t'ai pas mis d'exemple avec ncurses pcq j'ai jamais bcp joué avec et le site cité plus haut explique ça très bien.
tu as du mal comprendre le linkage aussi, ce n'est pas une étape avant la compilation, c'est en même temps (du point de vue de la ligne de commande en tout cas)
donc en complet :
[code]
gcc -lncurses -o toto toto.c
[/code]
ps : pour les codes ansi : http://www.bluesock.org/~willg/dev/ansi.html |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Mon Mar 01, 2004 12:27 pm Post subject: |
|
|
oh merci!!!
En fait oui j'ai prefere te demande plutot que de faire des betises. Donc les deux choses que tu m'as dites sont deux manieres differentes.
Donc imaginons que je veuille pas trop utiliser les codes ansi, je peux faire marcher en mettant #include <ncurses.h> et en utilisant move(y,x);
et pour que ca marche il faut faire le linkage comme tu me l'as expliqué. J'ai bien compris?
ps: desole d'avoir repondu si tard mais j'avais une coupure internet... _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
Admin-galere Apprentice
Joined: 04 Nov 2003 Posts: 206 Location: Paris
|
Posted: Tue Mar 02, 2004 9:31 am Post subject: |
|
|
en fait j'ai trouvé un exemple qui affiche comme je voudrai et en fait, il fallait mettre initscr(); pour demarrer le mode ncurses.
Ha la la c'etait sur le site de sleeper mais etant assez dense je ne l'ai pas vu tout de suite!! _________________ Ouh là là c'est chaud tout ça!! |
|
Back to top |
|
|
|