Afficher en couleur
Fermé
yvoyuuta
Messages postés
9
Date d'inscription
lundi 30 décembre 2013
Statut
Membre
Dernière intervention
7 mai 2014
-
Modifié par yvoyuuta le 4/01/2014 à 23:59
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 8 janv. 2014 à 14:09
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 8 janv. 2014 à 14:09
A voir également:
- Afficher en couleur
- Excel cellule couleur si condition texte - Guide
- Somme si couleur - Guide
- La boite a couleur - Télécharger - Divers Photo & Graphisme
- Afficher mot de passe wifi android - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
5 janv. 2014 à 10:39
5 janv. 2014 à 10:39
Bonjour,
system() est une fonction à éviter. A la place, tu peux plutôt utiliser : SetTextColor() (puisque j'imagine que tu es sur Windows).
Ou sinon tu peux t'installer la bibliothèque PDCurses qui te permettra de faire plein de choses sympas.
Cdlt,
system() est une fonction à éviter. A la place, tu peux plutôt utiliser : SetTextColor() (puisque j'imagine que tu es sur Windows).
Ou sinon tu peux t'installer la bibliothèque PDCurses qui te permettra de faire plein de choses sympas.
Cdlt,
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 8/01/2014 à 14:28
Modifié par [Dal] le 8/01/2014 à 14:28
Bonjour yvoyuuta,
Sauf erreur, SetTextColor() est pour le texte affiché dans une fenêtre GUI, pas pour la console.
Pour la console, sous Windows, c'est plutôt SetConsoleTextAttribute() que tu utiliseras si tu ne veux pas installer la bibliothèque PDCurses ou une autre.
Tu as du code d'exemple là : https://docs.microsoft.com/en-us/windows/console/using-the-high-level-input-and-output-functions?redirectedfrom=MSDN
Sur la base de ce code, tu peux faire comme cela, par exemple, pour afficher une ligne avec un mot en rouge au milieu :
Sur mon Codeblocks, avec MinGW, il suffit de faire
Dal
Sauf erreur, SetTextColor() est pour le texte affiché dans une fenêtre GUI, pas pour la console.
Pour la console, sous Windows, c'est plutôt SetConsoleTextAttribute() que tu utiliseras si tu ne veux pas installer la bibliothèque PDCurses ou une autre.
Tu as du code d'exemple là : https://docs.microsoft.com/en-us/windows/console/using-the-high-level-input-and-output-functions?redirectedfrom=MSDN
Sur la base de ce code, tu peux faire comme cela, par exemple, pour afficher une ligne avec un mot en rouge au milieu :
#include <stdio.h> #include <windows.h> int main(void) { HANDLE hStdout; CONSOLE_SCREEN_BUFFER_INFO csbiInfo; WORD wOldColorAttrs; /* écrire vers STDOUT un début de phrase */ printf("Cette phrase comporte un mot en "); /* obtenir un handle vers STDOUT */ hStdout = GetStdHandle(STD_OUTPUT_HANDLE); if (hStdout == INVALID_HANDLE_VALUE) { MessageBox(NULL, TEXT("GetStdHandle"), TEXT("Console Error"), MB_OK); return 1; } /* sauvegarde de la couleur actuelle */ if (! GetConsoleScreenBufferInfo(hStdout, &csbiInfo)) { MessageBox(NULL, TEXT("GetConsoleScreenBufferInfo"), TEXT("Console Error"), MB_OK); return 1; } wOldColorAttrs = csbiInfo.wAttributes; /* modifier la couleur en rouge sur fond noir */ if (! SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_INTENSITY)) { MessageBox(NULL, TEXT("SetConsoleTextAttribute"), TEXT("Console Error"), MB_OK); return 1; } /* écrire en rouge */ printf("rouge"); /* restaurer la couleur d'origine */ SetConsoleTextAttribute(hStdout, wOldColorAttrs); /* écrire le reste de la phrase */ printf(", et un seul\n"); return 0; }
Sur mon Codeblocks, avec MinGW, il suffit de faire
#include <windows.h>, sans qu'il soit nécessaire de préciser autre chose dans les paramètres de liaison.
Dal
5 janv. 2014 à 13:09
j'ai essayer SetTextColor() ça marche pas, le compilateur ne reconnait pas la fonction, je crois qu'il faut inclure une bibliothèque ?
De plus ce que je veux savoir c'est comment afficher dans une même ligne différentes couleurs, et le mieux serai de pouvoir attribuer a une variable une couleur (a chaque affichage elle s'affiche avec cette couleur) si c'est possible!
Merci.
5 janv. 2014 à 14:35
Mais aussi ajouter gdi32 lors du linking.
De plus ce que je veux savoir c'est comment afficher dans une même ligne différentes couleurs
Ben, avec SetTextColor() (à essayer, je n'utilise pas).
Cdlt,