Couleur en C

cs_skatouse Messages postés 7 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 - 13 déc. 2009 à 12:54
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 15 déc. 2009 à 14:43
Bonjour a tous.
Je tien dabors a me presenter pour ne pas me faire incendier, je suis d'epitech!!!!
bon je vous explique mon petit probleme, je suis en train de faire un projet, et jaimerai pour certain type de fichier mettre de la couleur au nom. Seulement je ne sais pas du tout comment my prendre donc si vous connaissez 2 3 site qui pourrai me lexpliquer se serais tres gentil. Ce que je demande n'est pas demander dans mon projet, c juste pour un petit plus personnelle.
merci beaucoup

5 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
13 déc. 2009 à 19:21
Attention à ton orthographe, relis un toi un minimum s'il te plaît.

Si tu veux mettre de la couleur sur des noms de fichiers, cela ne dépend pas du langage mais de la configuration de ton shell et de ls. ls --color=auto, et la variable LS_COLORS bien remplie feront l'affaire.
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
15 déc. 2009 à 00:13
Salut,

Tu es sous quel système d'exploitation ?

jaimerai pour certain type de fichier mettre de la couleur au nom

Tu écris le nom du fichier sous Word et tu mets la couleur de police que tu veux, ou mieux, tu copies/colles le résultat sous Paint, et tu modifies la couleur du nom.
Non, plus sérieusement... mettre de la couleur ou ? Comment ? etc...


Cordialement, uaip.
0
cs_skatouse Messages postés 7 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 15 avril 2010
15 déc. 2009 à 14:33
Je suis sous freeBSD, je vien de recoder ls, et jaimerai, suivant si ces un dossier, un fichier, le mettre en couleur. Seulement je ne sais pas comme faire!!
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
15 déc. 2009 à 14:42
Alors, tout dépends de ton terminal, encore une fois !

Si tu recodes ls, alors tu dois prendre en compte la variable d'environnement LS_COLORS qui spécifie quelles couleurs appliquer.
Voici un petit bout de code qui "écrit" en couleur (toute l'astuce vient d'un caractère d'échappement), et devrait fonctionner sur le parc informatique Epita:

static const char WHITE[] = {27, '[', 'm', 0};
static const char RED[] = {27, '[', '0', '1', ';', '3', '1', 'm', 0};
static const char GREEN[] = {27, '[', '0', '1', ';', '3', '2', 'm', 0};
static const char PURPLE[] = {27, '[', '0', '1', ';', '3', '4', 'm', 0};
static const char YELLOW[] = {27, '[', '0', '1', ';', '3', '3', 'm', 0};
static const char CYAN[] = {27, '[', '0', '1', ';', '3', '6', 'm', 0};

void color_test(void)
{
  printf("%sRed Kikoo% Pouet\n", RED, WHITE);
}


Bien sur, comme expliqué, ça ne fonctionnera pas forcément partout.

Une simple redirection ( > ) dans un fichier te montreras les limitations de cette technique.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
15 déc. 2009 à 14:43
Il manque un "s" (grrr impossible d'éditer !)

printf("%sRed Kikoo%s Pouet\n", RED, WHITE);
0
Rejoignez-nous