Instructions system langage C

Résolu
Utilisateur anonyme -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je suis en train d'apprendre le langage C et j'ai découvert que l'on pouvait avoir la liste des instructions system( ) en mettant l'instruction system("HELP"); dans le code source du programme.
J'utilise l'IDE "Dev C++". Dans cette liste d'instructions, j'ai trouvé l'instruction system("COLOR"); qui est censé me permettre de modifier la couleur de l'arrière plan et du premier plan de la console. Malheureusement, cette instruction ne marche pas et je ne sais pas pourquoi. Merci d'avance pour votre aide !

KaibaSeto

4 réponses

kenisay
 
system("color cf");
Pour changer les couleurs initiales de la console.
(ou c est la valeur du fond, f est la valeur des caractères)

0 Noir
1 Bleu foncé
2 Vert
3 Bleu gris
4 Marron
5 Pourpre
6 Kaki
7 Gris clair
8 Gris
9 Bleu clair
A Vert clair
B Cyan
C Rouge
D Rose
E Jaune
F Blanc
il marche avec stdlib.h
7
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
Ceci ne marche a priori que sous windows, donc bof... D'où l'intérêt de passer par une librairie comme ncurses qui permet de s'affranchir du système d'exploitation et d'avoir ainsi un programme portable.

De manière générale il faut éviter de faire un appel système à une commande spécifique à un système d'exploitation, surtout quand il existe des solutions pour rester portable...
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
En fait ce que tu dis est spécifique à windows. Tu peux taper tes commandes directement dans une console ms dos (démarrer, exécuter, cmd). Pour régler les couleurs dans un terminal, le mieux est d'utiliser une librairie genre ncurses.
https://fr.wikipedia.org/wiki/Ncurses

Bonne chance
0
Utilisateur anonyme
 
Merci pour votre réponse mamiemando, je ne connaissais pas cette librairie. Je vais l'étudier attentivement. J'ai néanmoins trouvé entre-temps une solution peut-être plus simple pour afficher de la couleur dans la console.
Il suffit de mettre #include <windows.h> en haut du code source puis d'ajouter, avant les "printf" dont on souhaite colorer le texte, l'instruction Color(0,0);. Il faut bien sur créer une fonction d'affichage de couleurs. Si vous voulez voir la façon de faire, je vous conseille d'aller voir sur le tutoriel sur ce site :

https://openclassrooms.com/fr/courses

Voilà ! Donc merci encore et @+ sur les forums.
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
Oui oui c'est possible, mais ton programme ne fonctionnera correctement que sous windows. L'intérêt de ncurses c'est de s'affranchir de la plate-forme. Car de la même façon sous linux tu as des séquences d'échappement pour colorer ton texte.
0