Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[langage C] gotoxy sous unix?(resolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Mon Feb 23, 2004 8:14 am    Post subject: [langage C] gotoxy sous unix?(resolu) Reply with quote

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
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Mon Feb 23, 2004 9:39 am    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Mon Feb 23, 2004 9:43 am    Post subject: Reply with quote

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
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Mon Feb 23, 2004 10:01 am    Post subject: Reply with quote

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
View user's profile Send private message
cylgalad
Veteran
Veteran


Joined: 18 Apr 2003
Posts: 1327
Location: France

PostPosted: Mon Feb 23, 2004 11:45 am    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Mon Feb 23, 2004 12:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
cylgalad
Veteran
Veteran


Joined: 18 Apr 2003
Posts: 1327
Location: France

PostPosted: Mon Feb 23, 2004 12:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Mon Feb 23, 2004 1:23 pm    Post subject: Reply with quote

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. :oops:
ok??

Mais me disputes plus!!! :cry:
_________________
Ouh là là c'est chaud tout ça!!
Back to top
View user's profile Send private message
theturtle123
l33t
l33t


Joined: 19 Sep 2003
Posts: 621
Location: Lille, France

PostPosted: Tue Feb 24, 2004 1:48 pm    Post subject: trip Reply with quote

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 :twisted:
Back to top
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 2:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Tue Feb 24, 2004 2:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 2:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Tue Feb 24, 2004 3:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 3:14 pm    Post subject: Reply with quote

pfiou c ce qui s'appelle est tetu ca! :D
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 :oops:

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. :roll:
_________________
Ouh là là c'est chaud tout ça!!
Back to top
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Tue Feb 24, 2004 3:32 pm    Post subject: Reply with quote

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 :oops:

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. :roll:


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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 3:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Tue Feb 24, 2004 3:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 3:49 pm    Post subject: Reply with quote

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... :oops:
Allez chacun ses gouts :D
_________________
Ouh là là c'est chaud tout ça!!
Back to top
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 3:56 pm    Post subject: Reply with quote

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. :oops:
_________________
Ouh là là c'est chaud tout ça!!
Back to top
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Feb 24, 2004 4:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
takezo
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jan 2003
Posts: 132

PostPosted: Sat Feb 28, 2004 9:33 am    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Mon Mar 01, 2004 8:21 am    Post subject: Reply with quote

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:
Quote:

\033[%d;%dH%s\n\r


je ne vois pas trop... :oops:
_________________
Ouh là là c'est chaud tout ça!!
Back to top
View user's profile Send private message
takezo
Tux's lil' helper
Tux's lil' helper


Joined: 14 Jan 2003
Posts: 132

PostPosted: Mon Mar 01, 2004 9:39 am    Post subject: Reply with quote

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
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Mon Mar 01, 2004 12:27 pm    Post subject: Reply with quote

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... :oops:
_________________
Ouh là là c'est chaud tout ça!!
Back to top
View user's profile Send private message
Admin-galere
Apprentice
Apprentice


Joined: 04 Nov 2003
Posts: 206
Location: Paris

PostPosted: Tue Mar 02, 2004 9:31 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum