Couleur des texte en langage c [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
24 avril 2012
-
 Branlito -
Bonjours à tous, Je programme déjà depuis un petit temps en langage c. Seulement j'ai un petit problème, j'aimerais savoir quelle est l'instruction pour changer la couleur d'un texte mais je ne trouve pas de tutoriel. Si quelqu'un pouvait m'aider sa serait sympa. Merci.

7 réponses

Salut,ben ce que j utilise le plus souvent c est
textcolor(nom de la couleur en majuscule ou un chiffre);
cprintf("Ton texte");

par exemple : textcolor(RED);
cprintf("Bonjour");

ou alors : textcolor(3);
cprintf("Hello");

Essaies ca devrait marcher ;)
12
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Il faut inclure un ,h ????
Parce qu'il me dit qu'il ne connait pas texetcolor
ça marche pas
Messages postés
29309
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 octobre 2020
6 941
Par texte en couleur j'imagine que tu parles des couleurs dans une console en mode texte. Si tu es sous bash (ce qui est souvent le cas sous linux) la couleur se règle à l'aide des séquences d'échappement en bash.

#include <iostream>

#ifndef BG_LIGHT

#define BLACK    "\033[1;30m"
#define RED      "\033[1;31m"
#define GREEN    "\033[1;32m"
#define YELLOW   "\033[1;33m"
#define BLUE     "\033[1;34m"
#define PURPLE   "\033[1;35m"
#define CYAN     "\033[1;36m"
#define GREY     "\033[1;37m"

#else // else BG_LIGHT

#define BLACK    "\033[0;30m"
#define RED      "\033[0;31m"
#define GREEN    "\033[0;32m"
#define YELLOW   "\033[0;33m"
#define BLUE     "\033[0;34m"
#define PURPLE   "\033[0;35m"
#define CYAN     "\033[0;36m"
#define GREY     "\033[0;37m"

#endif // endif BG_LIGHT

#define DEFAULT_COLOR "\033[0;m"

#define OK  BLUE "[" GREEN  "ok" BLUE "] " DEFAULT_COLOR

int main(){
  std::cerr << OK << "C'est parti !" << std::endl;
  return 0;
}


Sinon il faut chercher du côté de la lib ncurses. Si ta console est sur fond clair et que tu compiles avec gcc rajoute à la compilation l'option -DBG_LIGHT :

g++ -W -Wall -DBG_LIGHT -o plop.exe plop.cpp


Bonne chance
sous windows
faire:
1 blabla habituel...
8 system("color 02"); //0 correspond au font et 2 au text
//c'est pour le style a la matrix :)
couleurs :

0 = Black 8 = Gray
1 = Blue 9 = Light Blue
2 = Green A = Light Green
3 = Aqua B = Light Aqua
4 = Red C = Light Red
5 = Purple D = Light Purple
6 = Yellow E = Light Yellow
7 = White F = Bright White
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 702
Non sous windows, il vaut mieux utiliser l'API comme dit plus haut...
Ou alors utiliser un code standard. System(), ok c'est bien pratique, mais c'est à éviter...
Messages postés
29309
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 octobre 2020
6 941
De plus : system => commande spécifique à un système particulier => programme pas portable => mauvais choix.
Messages postés
29309
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 octobre 2020
6 941
Ta méthode repose sur des MFC, or celles-ci ne sont disponibles que sous windows (remarque moi c'est sur des séquances d'échappement bash, donc pour linux). Tu peux aussi regarder du côté de la libncurse c'est sans doute la manière la plus standard de faire.

Bonne chance
bin j'ai essayé ce que vous dite mais ca marche pas
je bosse sur codeblock windows xp
neewbie

jai fais ca :

textcolor(3);
cprintf("Hello");

ca marche pas !
Messages postés
233
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
2 octobre 2011
13
Tu peut changer la couleur que sous Linux.
Messages postés
29309
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 octobre 2020
6 941 >
Messages postés
233
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
2 octobre 2011

Non. Cygwin est un bon contre-exemple.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 702 >
Messages postés
233
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
2 octobre 2011

Tu peut changer la couleur que sous Linux.
Même dans une console Windows, tu peux changer la couleur de la console avec les API (SetConsoleTextAttribute).
Il faut que tu include la bibliotheque "conio", sous codeblocks....
salut, j'ai essayé la commande system("color 2b") et ca march aussi pour les autres couleurs.. sous window sur code:blocks
Messages postés
29309
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 octobre 2020
6 941
Ou mieux, ncurses, qui contrairement à conio, est portable.
Messages postés
233
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
2 octobre 2011
13
Pour changer la couleur (que sous Windows) : system("color 1f"); // 1f étant blanc sur fond bleu, pour plus de couleurs, tapez help color dans l'invite de commandes Windows
merci pour linfo
Merci pour la syntaxe