Affichage en couleur avec c++ [Résolu]

Signaler
Messages postés
43
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
2 juin 2014
-
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
-
salut tout le monde
je veux afficher des messages avec c++ avec differents couleur par exemple

cout<<"bonjour, "<<endl; //en rouge
cout<<"comment cava "<<endl; //en vert
cout<<" monsieur "<<endl; //en bleu

mais j’arrive pas a trouver comment
MERCI si quelqu’un me rependre

3 réponses

Messages postés
3809
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
22 avril 2020
105
Bonjour.

Il n'y a pas de couleur dans les langages de programmation. La couleur est liée à ton terminal. Il faut donc regarder la documentation du terminal que tu utilises pour connaître les séquences à envoyer pour créer de la couleur. Tous les terminales ne gèrent pas la couleur. Certains gèrent plus de couleur que d'autre, des soulignements, des mises en gras, voir des liens, d'autre ne gèrent presque rien.
Il suffit de taper "Couleur terminal Windows" (ou Linux) dans ton moteur de recherche préféré pour trouver de la documentation.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Messages postés
43
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
2 juin 2014

merci pour la repense
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Salut,

2 petites macros très simples pour gérer la couleur de la console win
(couleurs différentes au "mot" ou à la ligne)

#include <Windows.h>
#include <string>
#include 

// 2 couleurs de test
#define color1 (WORD)(0x0003 | 0x0000)//bleu-vert sur noir
#define color2 (WORD)(0x0007 | 0x0008 | 0x0040) //blanc sur rouge

#define COLOR(h, c) SetConsoleTextAttribute(h, c);
#define TEXTCOLOR(h,c1,c2,s) COLOR(h,c1); std::cout<<s; COLOR(h,c2);

int main(int argc, char** argv)
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hStdout, &csbiInfo);
WORD wCouleurDefaut = csbiInfo.wAttributes;

std::cout << "Couleur defaut..." << std::endl;

COLOR(hStdout, color1);
std::cout << "Change couleur ligne complete..." << std::endl;
COLOR(hStdout, wCouleurDefaut);

std::cout << "Change couleur sur un seul ";
TEXTCOLOR(hStdout, color2, wCouleurDefaut, "mot");
std::cout << "..."<< std::endl;

std::cout << std::endl << "[ENTER] pour quitter :\r\n";
std::cin.getline((char*)std::string("").c_str(), 4, '\n');
return 0;
}


bye...