La fonction printf permet beaucoup de chose mais ne permet pas par exemple dafficher du texte en couleur ou deffacer lécran. Mais il existe certainement un pilote nommé ANSI.SYS dans votre ordinateur qui peu permettre deffectuer de telles manipulations. Dabord, avant de sen servir il faut linstaller, pour cela, inscrivez la ligne suivante dans le fichier config.sys.
DEVICE=C:\dos\ansi.sys
Voici les différentes possibilités que vous avez avec ce pilote.
Afficher des couleurs :
[30m : lettre noir
[31m : lettre rouge
[32m : lettre verte
[33m : lettre orange
[34m : lettre bleu
[35m: lettre magenta
[36m: lettre cyan
[37m: lettre blanc
[40m: fond noir
[41m: fond rouge
[42m: fond vert
[43m: fond orange
[44m: fond bleu
[45m: fond magenta
[46m: fond cyan
[47m: fond blanc
Positionner le curseur :
[x ;yM : Positionne le curseur au coordonnées x,y
[xA : Déplace le curseur de x lignes vers le haut
[xB : Déplace le curseur de x lignes vers le bas
[xC : Déplace le curseur de x colonnes vers la droite
[xD : Déplace le curseur de x colonnes vers la gauche
[s : Enregistre la position du curseur
[u : Place le curseur à la position enregistrée
Effacer lécran : [2j
Installer un mode daffichage :
[0h : 40*25 Monochrome
[1h : 40*25 Couleur (texte)
[2h : 80*25 Monochrome
[3h : 80*25 Couleur (texte)
[4h : 320*200 Couleur (graphique)
[5h : 320*200 4 Couleurs (graphique)
[6h : 640*200 Monochrome
[7h : 640*200 Couleur (texte)
[13h : 320*200 Couleur (graphique)
[14h : 640*200 16 Couleurs (graphique)
[15h : 640*350 Monochrome
[16h : 640*350 16 Couleurs (graphique)
[17h : 640*480 16 Couleurs (graphique)
[19h : 320*200 256 Couleurs (graphique)
Effacer lécran : [2J
Attention il faut mettre le caractère Esc ou \033 avant tous ces codes.
Voyez le code source pour voir comment cela marche.
Source / Exemple :
#include<stdio.h>
#include<conio.h>
int main()
{
printf("\033[16h");
printf("\033[32mBonjour \033[3B"); //Affiche bonjour en vert et saute 3 lignes
printf("\033[45;32mBonjour"); //Affiche Bonjour en vert sur fond magenta
getch(); //Attend la saisie d'une touche
printf("\033[2J"); //Remplie l'écran avec la couleur de fond définie précedemment
getch();
return 0;
}
Conclusion :
Le code explique bien le fonctionnement.
Si vous avez gcc sans djgpp vous ne possédez pas conio.h, remplacez alors la fonction getch() par ceci:
int lettre;
if((lettre = getchar()) == 23)
printf("\033[2J");
Si vous avez un problème écrivez moi.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.