Remplacement de GNU / Linux pour les fonctions Turbo C `clrscr` et` cprintf`

Je viens juste de passer à Linux pour un mois seulement. J’ai utilisé Borland Turbo C pour la programmation C, mais certaines de ces fonctions ne fonctionnent pas sous GNU / Linux. Vous devez donc vous faire aider.

Voici certaines des fonctions que je voudrais remplacer:
– gotoxy
– cprintf
– clrscr
– initgraph / graphics.h

J’apprécierais des exemples de code montrant comment utiliser les remplacements.

Sous Linux, vous pouvez utiliser la bibliothèque ncurses pour utiliser le terminal en tant que tampon de texte: déplacez le curseur et écrivez du texte. Il peut également dessiner des fenêtres et d’autres widgets de haut niveau.

Pour gotoxy voir move et wmove from ncurses ( link ). Pour cprintf voir printw . Vous pouvez effacer l’écran simplement avec clear() .

Dans ncurses, vous devez également actualiser l’écran avec refresh() après printw et clear() .

Exemple de programme, qui utilise toutes les fonctions mentionnées dans ncurses:

 #include  int main(int argc, char *argv[]) { initscr(); clear(); move(15, 20); printw("Test program: %s", argv[0]); refresh(); getch(); endwin(); return 0; } 

Comstackr en gcc avec: gcc program.c -lcurses

En ce qui concerne les graphiques, vous devez choisir une bibliothèque particulière. Si vous avez besoin d’une expérience similaire à celle du fichier Graphics.h de bas niveau, vous recherchez probablement directfb ou svgalib . Si vous souhaitez afficher des graphiques dans une fenêtre, SDL vous sera utile.

Les fonctions auxquelles vous faites référence font partie de la bibliothèque exclusive de Borland pour les applications console. Vous voulez en savoir plus sur ncurses .

À propos de graphics.h

Concernant l’utilisation de graphics.h sous Linux, la tâche est simple. J’ai eu le même problème il y a une semaine. Vous pouvez masquer avec le terme de recherche “graphics.h in Linux”, et vous obtiendrez de nombreux liens et en voici un.

http://www.rajivnair.in/2007/07/graphicsh-in-gnulinux.html .

À propos de Clear Screen

Pour cela, vous avez beaucoup d’options. Et celui-ci utilise system (“clear”) mais il a besoin de stdlib.h et ses performances sont plus lentes. Voici deux liens pour vous …

Comment effacer la console sous Windows et Linux à l’aide de C ++

cprogramming.com

À propos de gotoxy Comme mentionné dans la réponse de Michał Trybus.

À propos de cprintf

J’ai référé de nombreux liens, mais sans obtenir les réponses simples. Moi aussi, j’attends les réponses pour cela.
Mais, dans mon expérience, chaque fois que je veux que la sortie soit dans un format coloré, j’utiliserai graphics.h, bien que ce ne soit pas obligatoire. C’est pourquoi je n’avais jamais pensé à cette question. Vous pouvez trouver ce lien utile … codeguru.com

À propos de getch, je pense que vous êtes peut-être déjà au courant. Au lieu de getch () dans conio.h (pas dans Ansi Standard), vous pouvez utiliser getchar () dans stdio.h.

Juste, je répondais aux mêmes questions dans un autre fil:

 void gotoxy(int x, int y) { printf("%c[%d;%df",0x1B, y, x); } void clrscr(void) { fprintf(stdout, "\033[2J\033[0;0f"); fflush(stdout); } void textcolor(int attr, int fg, int bg) { printf("%c[%d;%d;%dm", 0x1B, attr, fg + 30, bg + 40); } 

Un moyen facile de le faire!