Pages : 1
#1 Le 03/02/2025, à 12:56
- nasier
en C, un alias dans printf
Bonjour
J'ai une fonction printf qui m'affiche le resultat d'un calcul sur la console.
Si je veux amélioirer la visibilité et par exemple faire clignoter le résultat écrit en jaune sur fond bleu, je dois, dans le corps du printf écrire des commandes escape particulières, une pour définir un fond, bleu, une autre pour écrire en jaune sur fond bleu, une troisième pour faire clignoter le tout
Ca donne quelque chose comme
printf("\033[44m Le resultat est \033[1;33m\033[5m%1.6f\n", res);
( bien sur j'ai défini plus haut res comme un float ou j'affiche1 chiffre avant la virgule et 6 apres )
Ma question est...a la place de ces commandes escape \033, y a t il un moyen en C de définir une sorte d'alias qui dirait par exemple
fb =\033[4m // fond bleu
jsfb = \033[1;33m // jaune sur fond bleu
cli = \033[5m //clignote
merci d'avance pour tout tuyau
Hors ligne
#2 Le 03/02/2025, à 13:21
- hotnuma
Re : en C, un alias dans printf
Avec des macros genre comme ça :
#include <stdio.h>
#define BLUE "\033[44m"
int main()
{
printf(BLUE "blablie\n");
return 0;
}
Xfce 4.18 / https://github.com/hotnuma
Hors ligne
#3 Le 03/02/2025, à 13:23
- nasier
Re : en C, un alias dans printf
cool...j'essaye !!!
et merci
Hors ligne
#4 Le 03/02/2025, à 13:38
- hotnuma
Re : en C, un alias dans printf
Un truc comme ça par exemple :
#include <stdio.h>
#define BLUE "\033[44m"
#define END "\033[m"
int main()
{
//printf("\033[44mtest\033[ming\n");
printf(BLUE "test" END "ing\n");
return 0;
}
Xfce 4.18 / https://github.com/hotnuma
Hors ligne
#5 Le 03/02/2025, à 14:13
- nasier
Re : en C, un alias dans printf
marche pas...
peut etre ne peut on pas mettre une macro dans un printf comme je voulais le faire !!!
Hors ligne
#6 Le 03/02/2025, à 14:24
- hotnuma
Re : en C, un alias dans printf
Ca a l'air de marcher :
#include <stdio.h>
#define FB "\033[4m"
#define JSFB "\033[1;33m"
#define CLI "\033[5m"
#define FIN "\033[m"
#define LF "\n"
int main()
{
float res = 0.666;
//printf("\033[44m Le resultat est \033[1;33m\033[5m%1.6f\n", res);
printf(FB " Le resultat est " JSFB CLI "%1.6f" FIN LF, res);
return 0;
}
Xfce 4.18 / https://github.com/hotnuma
Hors ligne
#7 Le 03/02/2025, à 15:06
- nasier
Re : en C, un alias dans printf
Ca marche...J'ai corrgé mes erreurs
Merci encore pour l'exemple
Hors ligne
Pages : 1