C couleurs
Jonathan_117
Messages postés
269
Statut
Membre
-
Jonathan_117 Messages postés 269 Statut Membre -
Jonathan_117 Messages postés 269 Statut Membre -
Bonjour, comment on fait pour mettre en couleur un printf s'il vous plait?
6 réponses
-
J'ai trouvé ça https://www.developpez.net/forums/d309614/c-cpp/c/couleurs-c/ mais je comprends pas ce que je dois faire avec la fonction
-
Salut,
Tu utilises quel compilateur ?
++ -
Petite question subsidiaire : ton code est déjà en couleur ou en noir et blanc ?
-
Alors, malheureusement, je ne connais pas ce compilateur, voilà un tuto à tout hasard :
https://apais.developpez.com/tutoriels/c++/visual-cpp-express/installation/
et j'ai trouvé ceci :
https://codes-sources.commentcamarche.net/
Mais je sais pas du tout si ça convient et répondra à ta question :/
Faut farfouiller dans la barre d'outils, l'option est y certainement !
Désolée de ne pouvoir répondre plus ... :\ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Ce n'est pas possible en C standard. Il faut donc passer par les fonctions du noyau. Par exemple pour windows, tu peux utiliser la fonction suivante : SetConsoleTextAttribute : https://docs.microsoft.com/en-us/windows/console/setconsoletextattribute?redirectedfrom=MSDN
Cdlt, -
J'ai fais ça et ça marche mais y'a pas moyen d'enlever quelque trucs inutiles?
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void Color();
void main(int argc, char *argv[])
{
Color(12,0);
printf("Mmmmmm donut\n");
Color(15, 0);
system ("pause");
}
void Color(int couleurDuTexte,int couleurDeFond)
{
HANDLE H=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte);
}-
Ce n'est pas void main qu'il faut mettre mais int main(...)
Ensuite tu ne te sers pas des arguments, donc tu peux mettre : int main (void), il faudra aussi rajouter return 0; après ton system("pause");
Ensuite, tu ne peux rien enlever. Par contre, tu peux très bien mettre la fonction Color dans un fichier à part pour alléger ton code.
Cdlt, -
-
Beh on t'a appris des bêtises car void main() n'existe pas en C standard. M'enfin bref. De plus, je ne t'ai pas dit de mettre return 0; à la place de system("pause"); mais de le mettre après. Mais bon si tu laisses ton void main(), ne mets pas return 0;
Sinon pour mettre la fonction color() à part, il suffit de faire copier coller de la fonction void Color() et de son contenu dans un fichier .c, de mettre son prototype dans un header. Il te restera à utiliser le #define et faire la compilation séparée.
Cdlt, -
-