[c++] Couleurs de la console
Résolu/Fermé
Astrofan
-
19 janv. 2007 à 14:49
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 16 déc. 2015 à 22:48
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 16 déc. 2015 à 22:48
A voir également:
- Commande changer couleur terminal linux
- Commande terminal mac - Guide
- Changer dns - Guide
- Invite de commande - Guide
- Piratage facebook changer mot de passe - Guide
- Changer clavier qwerty en azerty - Guide
16 réponses
salut la couleur en mode console rien de plus simple on peu changer en meme temps la couleur du texte que celle du background de la console avec la fonction
system("color £#) où £ represente la couleur du texte et # la couleur de fond de la console voici les differentes correspondances pour les couleurs :
0 = Noir B=Cyan
1 = bleu foncé C=rouge
2 = vert D=rose
3 = bleu-gris E=jaune
4 = Marron F=blanc
5 = pourpre
6 = kaki
7 = gris clair
8 = Gris
9 = Bleu-clair
A = vert-clair
EXEMPLE D'APPLICATION: ecrire C++ qui affiche BONJOUR FORUM COMMENTCAMARCHE en bleu dans une console de couleur rose
RESOLUTION DE L'EXEMPLE D'APPLICATION:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
system("color 1d");
cout<<"BONJOUR FORUM COMMENTCAMARCHE"<<endl;
return 0;
}
J'espere que ceci vous aidera!
amitié------fraternité-----respect
esprit de recherche et d'innovation
system("color £#) où £ represente la couleur du texte et # la couleur de fond de la console voici les differentes correspondances pour les couleurs :
0 = Noir B=Cyan
1 = bleu foncé C=rouge
2 = vert D=rose
3 = bleu-gris E=jaune
4 = Marron F=blanc
5 = pourpre
6 = kaki
7 = gris clair
8 = Gris
9 = Bleu-clair
A = vert-clair
EXEMPLE D'APPLICATION: ecrire C++ qui affiche BONJOUR FORUM COMMENTCAMARCHE en bleu dans une console de couleur rose
RESOLUTION DE L'EXEMPLE D'APPLICATION:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
system("color 1d");
cout<<"BONJOUR FORUM COMMENTCAMARCHE"<<endl;
return 0;
}
J'espere que ceci vous aidera!
amitié------fraternité-----respect
esprit de recherche et d'innovation
afin de mettre un fond bleu et des lettres rouges il faut inclure conio2.h
tools->check for updates/packages
tu met le devpack server a devpacks.org ...
tu verras une liste de librairies apparaitre
tu trouveras un conio tu le telecharge
puis dans ton projet tu ajoute les linkers
project options -> parametres
-conio2
../lib/libconio.a
j'ai deja essayé et ça marche ;)
tools->check for updates/packages
tu met le devpack server a devpacks.org ...
tu verras une liste de librairies apparaitre
tu trouveras un conio tu le telecharge
puis dans ton projet tu ajoute les linkers
project options -> parametres
-conio2
../lib/libconio.a
j'ai deja essayé et ça marche ;)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
23 août 2010 à 22:07
23 août 2010 à 22:07
Oui, on n'en doute pas que ça marche.
Mais on a dit que conio, ce n'est pas portable !!!
Il vaut donc mieux utiliser Ncurses.
Mais on a dit que conio, ce n'est pas portable !!!
Il vaut donc mieux utiliser Ncurses.
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
24 août 2010 à 00:42
24 août 2010 à 00:42
Merci fiddy tu m'ôtes les mots de la bouche :-)
###########EH REGARDE ICI##########
Utilise la fonction system(color ##), et a la place des diézes tu entre un caractere de cette liste
0=noir 1=bleu foncé 2=vert 3=bleu gris 4=marron 5=pourpre 6=kaki 7=gris claire 8=gris 9=bleu claire B=cyan C=rouge D=rose E=jaune F=blanc
le premier chiffre correspond a l'arriére plan (exemple: system(color F#); le fond est blanc) et le second chiffre correspond au texte donc system (color E2); il y aura un fond jaune et du texte vert ATTENTION ne pas mettre de virgule entre les 2 argument et ne pas oublier le point virgule
ALLER BY ^^
Utilise la fonction system(color ##), et a la place des diézes tu entre un caractere de cette liste
0=noir 1=bleu foncé 2=vert 3=bleu gris 4=marron 5=pourpre 6=kaki 7=gris claire 8=gris 9=bleu claire B=cyan C=rouge D=rose E=jaune F=blanc
le premier chiffre correspond a l'arriére plan (exemple: system(color F#); le fond est blanc) et le second chiffre correspond au texte donc system (color E2); il y aura un fond jaune et du texte vert ATTENTION ne pas mettre de virgule entre les 2 argument et ne pas oublier le point virgule
ALLER BY ^^
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
14 juil. 2011 à 11:35
14 juil. 2011 à 11:35
@MY,
Pas besoin de mettre des dièses pour mettre en évidence ton commentaire...
De plus, system est une fonction à éviter pour deux raisons : fonction pas efficace, on préférera utiliser une API (déjà évoquée dans un post ci-dessus), et ta méthode n'est pas portable : il vaut mieux utiliser une bibliothèque (également déjà évoquée).
Cdlt,
Pas besoin de mettre des dièses pour mettre en évidence ton commentaire...
De plus, system est une fonction à éviter pour deux raisons : fonction pas efficace, on préférera utiliser une API (déjà évoquée dans un post ci-dessus), et ta méthode n'est pas portable : il vaut mieux utiliser une bibliothèque (également déjà évoquée).
Cdlt,
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
19 janv. 2007 à 19:00
19 janv. 2007 à 19:00
Euh comment ça ?
C'est un programme qui se lance dans une fenêtre et tu voudrais changer des couleurs ? Ou il se lance dans une console ?
C'est un programme qui se lance dans une fenêtre et tu voudrais changer des couleurs ? Ou il se lance dans une console ?
oui c'est un programme en mode console car je ne sais encore faire le mode fenêtre!!
sais-tu comment faire??
sais-tu comment faire??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
20 janv. 2007 à 04:53
20 janv. 2007 à 04:53
A priori il faut utiliser la librairie ncurses.
bonne chance
bonne chance
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
20 janv. 2007 à 14:38
20 janv. 2007 à 14:38
Salut,
Pas besoin de ncurses, c'est une histoire de caractères spéciaux à afficher dans la console.
Voici un tutorial là dessus:
https://openclassrooms.com/fr/courses
Pas besoin de ncurses, c'est une histoire de caractères spéciaux à afficher dans la console.
Voici un tutorial là dessus:
https://openclassrooms.com/fr/courses
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
20 janv. 2007 à 15:11
20 janv. 2007 à 15:11
Oui mais a priori ca va dépendre de ton shell. Typiquement la tu donns les séquences d'échappement en bash (sous linux) alors qu'astrofan veut faire ça sous windows. L'avantage c'est qu'en ncurses tu dois pouvoir être indépendant du type du shell et au moins de l'OS. Et pourtant si tu installes cygwin on voit qu'il est possible d'avoir des couleurs dans la fenêtre "commandes msdos" ! Mais rien ne dit que ce sont les mêmes séquences d'échappement.
Bonne chance
Bonne chance
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
20 janv. 2007 à 15:25
20 janv. 2007 à 15:25
Ah oui tu as raison, j'avais pas pris en compte la portabilité...
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
21 janv. 2007 à 13:43
21 janv. 2007 à 13:43
Pas de soucis :-)
Salut
Voici un morceau de code qui résoudra le probleme de couleur
#include<widows.h>
#include<stdio.h>
int main()
{
HANDLE manip_console=GETSTDHANDLE(STD_OUTPUT_HANDLE);
int couleur1,couleur2;
SetConsoleTextAttribute(manip_console,couleur1|couleur2);
printf("Un texte d'essai\n ");
return 0;
}
et le tour est joué
bon couleur1 et couleur 2 c'est pour le fond et le texte
ou bien t'as qu'à ,telecharger econio.h et econio.cpp
Ciao
Voici un morceau de code qui résoudra le probleme de couleur
#include<widows.h>
#include<stdio.h>
int main()
{
HANDLE manip_console=GETSTDHANDLE(STD_OUTPUT_HANDLE);
int couleur1,couleur2;
SetConsoleTextAttribute(manip_console,couleur1|couleur2);
printf("Un texte d'essai\n ");
return 0;
}
et le tour est joué
bon couleur1 et couleur 2 c'est pour le fond et le texte
ou bien t'as qu'à ,telecharger econio.h et econio.cpp
Ciao
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
17 juin 2007 à 15:25
17 juin 2007 à 15:25
Sauf que ça ne marchera que sous windows ;)
EtiN
Messages postés
70
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2010
7
24 juin 2010 à 09:01
24 juin 2010 à 09:01
ça c'est vrai. (linux powaa)
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
12 nov. 2010 à 12:43
12 nov. 2010 à 12:43
Sauf que ce n'est pas la question. Quand on peut faire un truc qui marche partout et un truc qui marche à certains endroit à coût équivalent, pourquoi ne pas choisir l'approche universelle ?
curite
Messages postés
49
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
24 février 2011
13
24 juin 2010 à 08:58
24 juin 2010 à 08:58
Bonjours, tu n'a qu'a regarder ici https://openclassrooms.com/fr/courses c'est en c mais c'est facilement adaptable.
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
10 nov. 2010 à 18:12
10 nov. 2010 à 18:12
Effectivement il ne reste que la partie linux :
http://www.siteduzero.com/tutoriel-3-35298-des-couleurs-dans-la-console-linux.html
... raison de plus pour passer par une librairie ;-)
http://www.siteduzero.com/tutoriel-3-35298-des-couleurs-dans-la-console-linux.html
... raison de plus pour passer par une librairie ;-)
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 014
30 juin 2011 à 04:12
30 juin 2011 à 04:12
J'aime pas trop déterrer les vieux sujets, mais lorsque je fais des recherches sur Ncurses, le système supporté est POSIX, alors comment l'utiliser sous Windows ?
Note : moi je voudrais juste changer la couleur du texte et du fond d'écran de la console dans un projet C++/OpenGL/GLUT, de préférence portable, mais au minimum Windows.
Note : moi je voudrais juste changer la couleur du texte et du fond d'écran de la console dans un projet C++/OpenGL/GLUT, de préférence portable, mais au minimum Windows.
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
30 juin 2011 à 14:57
30 juin 2011 à 14:57
En cherchant un tout petit peu sur google "libncurses windows" on trouve ceci :
https://en.wikipedia.org/wiki/Ncurses
qui mène ici :
http://gnuwin32.sourceforge.net/packages/ncurses.htm
Et voilà ;-)
https://en.wikipedia.org/wiki/Ncurses
qui mène ici :
http://gnuwin32.sourceforge.net/packages/ncurses.htm
Et voilà ;-)
Bonjour j'ai lu toutes vos réponses mais beaucoup de vos liens sont morts ( je sais j'arrive tard après la bataille ) j'ai le même soucis sous windows j'aimerais changer la couleur du texte dans la console mais seulement partiellement , juste sur quelques mots qui doivent s'afficher en bleu, savez vous comment faire ?
Avec vos conseils j'ai réussi à afficher tout le terminal en bleu, mais pas juste les mots qui m'intéressaient:/
merci d'avance
Avec vos conseils j'ai réussi à afficher tout le terminal en bleu, mais pas juste les mots qui m'intéressaient:/
merci d'avance
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
7 nov. 2015 à 15:14
7 nov. 2015 à 15:14
Le lien pour pdcurses n'est pas mort.
De plus, il y a un post qui donne un bout de code sans lien (post #8).
Je t'invite donc à relire tout le fil, et tu trouveras la réponses à tes questions. N'hésite pas à ouvrir un nouveau post si tu n'y arrives pas.
De plus, il y a un post qui donne un bout de code sans lien (post #8).
Je t'invite donc à relire tout le fil, et tu trouveras la réponses à tes questions. N'hésite pas à ouvrir un nouveau post si tu n'y arrives pas.
morgane
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
8 nov. 2015 à 12:19
8 nov. 2015 à 12:19
j'ai bien relu tout le fil , mais je ne vois pas de conseil permettant de mettre en couleur seulement une partie du terminal et non le terminal en entier , j'ai vraiment besoin d'afficher seulement une partie d'une chaine de caractère en bleu et non toute la console, si vous savez faire ça ou si vous connaissez un bon tutoriel je suis preneuse !
merci beaucoup
merci beaucoup
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
>
morgane
8 nov. 2015 à 14:58
8 nov. 2015 à 14:58
Et ça, ça ne te convient pas : https://openclassrooms.com/courses/des-couleurs-dans-la-console-linux ?
non parce que déjà c'est en c et que je n'ai aucune connaissance de ce langage pour le traduire et le tuto pour Windows de cette page est mort et je cherche les deux versions, celle linux et celle Windows (car actuellement je code sous Windows mais le programme final doit tourner sous linux ).
J'ai regardé ce lien, quand je dis que j'ai tout lu je ne mens pas , pas besoin d'être agressif, j'ai un soucis , je demande de l'aide et si personne ne peut m'aider ici ce n'est pas grave, je demanderai ailleurs :)
J'ai regardé ce lien, quand je dis que j'ai tout lu je ne mens pas , pas besoin d'être agressif, j'ai un soucis , je demande de l'aide et si personne ne peut m'aider ici ce n'est pas grave, je demanderai ailleurs :)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
Modifié par fiddy le 8/11/2015 à 23:47
Modifié par fiddy le 8/11/2015 à 23:47
Ce n'était pas un ton agressif, rassure-toi ;-).
Sinon, oui le post était en C. Pour le C++, tu as juste à remplacer printf("...") par std::cout << "..."; et remplacer stdio.h par iostream.
Dans ton cas (portabilité sur windows et GNU/Linux), le seul moyen est l'utilisation d'une bibliothèque tierce. Ncurses par exemple. Un tuto : https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
Note : il me semble un peu vieux le tuto. Mais en même temps, c'est pas tout neuf cette bibliothèque. Si tu veux plus de modernité, il faudra passer sur une bibliothèque à fenêtre comme Qt, GTK2+.
Sinon, oui le post était en C. Pour le C++, tu as juste à remplacer printf("...") par std::cout << "..."; et remplacer stdio.h par iostream.
Dans ton cas (portabilité sur windows et GNU/Linux), le seul moyen est l'utilisation d'une bibliothèque tierce. Ncurses par exemple. Un tuto : https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
Note : il me semble un peu vieux le tuto. Mais en même temps, c'est pas tout neuf cette bibliothèque. Si tu veux plus de modernité, il faudra passer sur une bibliothèque à fenêtre comme Qt, GTK2+.
mamiemando
Messages postés
33024
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 mars 2024
7 736
24 juin 2010 à 09:46
24 juin 2010 à 09:46
Outre le fait qu'on a dit que conio ne permettait pas d'avoir un programme portable (qui fonctionne sous windows, linux...) contrairement à un programme basé sur la librairie ncurses, ce programme comporte un certain nombre de fautes (dont l'inclusion #include <windows.h>).
https://en.wikipedia.org/wiki/Ncurses
Donc merci de prendre 2 minutes la prochaine fois pour lire ce qui a été écrit auparavant.
https://en.wikipedia.org/wiki/Ncurses
Donc merci de prendre 2 minutes la prochaine fois pour lire ce qui a été écrit auparavant.
Voici mon code sur code::block en c++ profiter bien :D
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
system("COLOR 1");
cout << "Bonjour Mon ptit vieux" << endl;
system("COLOR 2");
cout << "comment sava ?" << endl;
system("COLOR 3");
cout << "j'ai enfin reussi a mettre le texte en couleur!" << endl;
system("COLOR 4");
cout << "c'est une grande chose ? non ?" << endl;
system("COLOR 5");
cout << "aller travaille bien Michou" << endl;
system("COLOR 6");
cout << "bye" << endl;
system("COLOR 7");
cout << "bye" << endl;
system("COLOR FC");
cout << "bye" << endl;
return 0;
}
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
system("COLOR 1");
cout << "Bonjour Mon ptit vieux" << endl;
system("COLOR 2");
cout << "comment sava ?" << endl;
system("COLOR 3");
cout << "j'ai enfin reussi a mettre le texte en couleur!" << endl;
system("COLOR 4");
cout << "c'est une grande chose ? non ?" << endl;
system("COLOR 5");
cout << "aller travaille bien Michou" << endl;
system("COLOR 6");
cout << "bye" << endl;
system("COLOR 7");
cout << "bye" << endl;
system("COLOR FC");
cout << "bye" << endl;
return 0;
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
16 déc. 2015 à 22:48
16 déc. 2015 à 22:48
system("...") est déconseillé... Cf. le fil.
4 avril 2012 à 08:53
22 juin 2012 à 19:46
16 déc. 2012 à 02:36
21 juil. 2014 à 17:25