Couleurs en C
Résolu/Fermé
A voir également:
- Couleurs en C
- La boite à couleurs - Télécharger - Divers Photo & Graphisme
- Iphone 14 couleurs - Guide
- Comment changer la couleur de son bitmoji quand on en a pas ✓ - Forum Snapchat
- Convertir rvb en cmjn sans perdre couleur - Forum Graphisme
- Un mot est caché dans l’en-tête du document. pour le trouver, modifiez sa couleur. ✓ - Forum Bureautique
2 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 226
25 oct. 2014 à 14:06
25 oct. 2014 à 14:06
'lut, non, pas directement, c'est-à-dire pas sans bibliothèque externe (
Là où sous UNIX/Max OS/Linux il faut juste sortir un caractère d'échappement (
Voici un exemple sous Windows:
ncursespar ex) ou sans utiliser de
#defines.
Là où sous UNIX/Max OS/Linux il faut juste sortir un caractère d'échappement (
\033) puis un code de format derrière, sous Windows, bah comme tout sur cet OS, tu te tapes 7 lignes de WinAPI pour arriver à tes fins.
Voici un exemple sous Windows:
#include <stdio.h> #include <windows.h> int main() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD saved_attributes; GetConsoleScreenBufferInfo(hConsole, &consoleInfo); saved_attributes = consoleInfo.wAttributes; SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE); printf("Je suis en bleu\n"); SetConsoleTextAttribute(hConsole, saved_attributes); return 0; }Et un sous UNIX/Mac OS/Linux:
#include <stdio.h> int main() { printf("\033[34mJe suis en bleu\n\033[0m"); return 0; }Après donc tu peux utiliser des
#definea gogo
#ifdef _WIN32 #define BLUE FOREGROUND_BLUE #define InitTextColor() HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); \ CONSOLE_SCREEN_BUFFER_INFO consoleInfo; \ WORD saved_attributes; \ GetConsoleScreenBufferInfo(hConsole, &consoleInfo); \ saved_attributes = consoleInfo.wAttributes; \ SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE); #define TextColor(x) SetConsoleTextAttribute(hConsole, x); #define ResetTextColor() SetConsoleTextAttribute(hConsole, saved_attributes); #else #define InitTextColor() #define BLUE 34 #define TextColor(x) printf("\033[ ## x ## m"); #define ResetTextColor() printf("\033[0m"); #endif #include <stdio.h> int main() { InitTextColor(); TextColor(BLUE); printf("Je suis en bleu\n"); ResetTextColor(); return 0; }Pas testé hein, mais tu comprends l'idée ;)