C couleurs

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?

A voir également:

6 réponses

Jonathan_117 Messages postés 269 Statut Membre 43
 
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
1
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Beh t'as la fonction Color() qu'il faut que tu copies. Tu as un exemple dans ton lien. Et ensuite tu utilises la fonction comme dans l'exemple. C'est quoi que tu comprends pas ? Copie l'exemple donné et bidouille-le un peu, tu comprendras mieux je pense.
0
green day Messages postés 26722 Statut Modérateur, Contributeur sécurité 2 163
 
Salut,

Tu utilises quel compilateur ?

++
0
Jonathan_117 Messages postés 269 Statut Membre 43
 
MICROSOFT Visual C++ 2008 Express Edition
0
green day Messages postés 26722 Statut Modérateur, Contributeur sécurité 2 163
 
Petite question subsidiaire : ton code est déjà en couleur ou en noir et blanc ?

0
Jonathan_117 Messages postés 269 Statut Membre 43
 
Blanc sur noir mais j'aimerais bien changer le blanc
0
green day Messages postés 26722 Statut Modérateur, Contributeur sécurité 2 163
 
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 ... :\
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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,
0
green day Messages postés 26722 Statut Modérateur, Contributeur sécurité 2 163
 
Merci bien ! :))

Je comprends mieux pourquoi j'avais un mal fou à trouver l'introuvable ! ^^*

@+
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Effectivement, tu pouvais chercher longtemps ^^.
0
Jonathan_117 Messages postés 269 Statut Membre 43
 
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);
}
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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,
0
Jonathan_117 Messages postés 269 Statut Membre 43
 
On m'a appris que void main pour le moment et je le laisse et pour le return 0 je sais pas ce que c'est mais mon system pause il est important, sans ça le logiciel se ferme de suite.

Comment je met dans un fichier à part la fonction color?
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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,
0
Jonathan_117 Messages postés 269 Statut Membre 43
 
Je comprends pas après "il suffit de faire copier coller de la fonction void Color() et de son contenu dans un fichier .c"
0