La console en C
Fermé
youplalayoupi
-
12 août 2009 à 19:23
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 août 2009 à 23:14
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 août 2009 à 23:14
A voir également:
- La console en C
- Console action - Accueil - Jeu vidéo
- Consommation console de jeux - Accueil - Guide jeu vidéo
- Realtek audio console - Forum Pilotes (drivers)
- Realtek Audio Console ne prend pas en charge cette machine ✓ - Forum Audio
- Console mac - Guide
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
12 août 2009 à 22:49
12 août 2009 à 22:49
J'ai bien un début de solution, mais ça ne marchera que sur Linux (et encore, pas tous)
Il s'agit d'utiliser des instructions en langage bash, via l'appel de la fonction system
On peut faire ainsi quelques changements de style (mais très peu)
Pour changer la couleur (en rouge par exemple) c'est quelque chose comme ça en bash :
Il s'agit d'utiliser des instructions en langage bash, via l'appel de la fonction system
On peut faire ainsi quelques changements de style (mais très peu)
Pour changer la couleur (en rouge par exemple) c'est quelque chose comme ça en bash :
echo -en "\033 [31m"En C maintenant, ça doit donner à peu près ça :
system("echo -en \"\\033 [31m\"");Je n'ai pas vérifié, parce que j'ai pas Linux sous la main mais je l'ai déjà fait...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
12 août 2009 à 23:01
12 août 2009 à 23:01
Salut,
Pour les couleurs en C : https://openclassrooms.com/fr/courses
Je te recommande plutôt la solution avec l'API.
Pour changer les propriétés comme la taille : https://docs.microsoft.com/en-us/windows/console/setconsolescreenbuffersize?redirectedfrom=MSDN
Cdlt
Pour les couleurs en C : https://openclassrooms.com/fr/courses
Je te recommande plutôt la solution avec l'API.
Pour changer les propriétés comme la taille : https://docs.microsoft.com/en-us/windows/console/setconsolescreenbuffersize?redirectedfrom=MSDN
Cdlt
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
13 août 2009 à 22:42
13 août 2009 à 22:42
J'ai retrouvé Ubuntu et j'ai fait une petite fonction qui peux aider pour la mise en forme du terminal.
Cependant je tiens à rappeler que ma méthode marche sous Ubuntu mais qu'elle pourrait ne pas fonctionner avec d'autres distributions Linux (et pour Windows on ira directement voir la réponse de fiddy)
Cependant je tiens à rappeler que ma méthode marche sous Ubuntu mais qu'elle pourrait ne pas fonctionner avec d'autres distributions Linux (et pour Windows on ira directement voir la réponse de fiddy)
#include <stdio.h> #include <string.h> void Style(char * commande) { char part1[100]="echo -n \"\\033["; char part2[10]="m\""; strcat(part1,commande); strcat(part1,part2); system(part1); }Je n'ai pas trouvé de liste complète des commandes possibles, cependant voici celles que je connais :
Style("0"); // style par défaut Style("1"); // en gras Style("2"); // inactif Style("4"); // souligner Style("7"); // style du curseur Style("8"); // style mot de passe (invisible) Style("9"); // barré Style("3N"); // couleur d'avant plan * Style("4N"); // couleur d'arrière plan * * N doit être remplacer par un chiffre 0 : noir 1 : rouge 2 : vert 3 : jaune 4 : bleu 5 : magenta 6 : cyan 7 : blanc
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
13 août 2009 à 22:48
13 août 2009 à 22:48
Sinon pour linux, il y a aussi ce lien :
http://www.siteduzero.com/tutoriel-3-35298-des-couleurs-dans-la-console-linux.html ;-)
http://www.siteduzero.com/tutoriel-3-35298-des-couleurs-dans-la-console-linux.html ;-)
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
13 août 2009 à 22:56
13 août 2009 à 22:56
Salut fiddy !
En comparant ma méthode avec ton lien je me pose une question :
Est-ce qu'on peut toujours remplacer system(echo "..."); par printf("..."); ?
En comparant ma méthode avec ton lien je me pose une question :
Est-ce qu'on peut toujours remplacer system(echo "..."); par printf("..."); ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
>
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
13 août 2009 à 23:14
13 août 2009 à 23:14
Est-ce qu'on peut toujours remplacer system(echo "..."); par printf("..."); ?
En terme de fonctionnalité oui. Mais c'est déconseillé pour deux raisons :
1/ C'est beaucoup plus gourmand en mémoire de par l'utilisation de la fonction system
2/ Tu perds largement en portabilité.
Par contre, avec le printf, faut faire attention à vider le buffer stdout soit de manière explicitement soit c'est fait automatiquement.
Cdlt
En terme de fonctionnalité oui. Mais c'est déconseillé pour deux raisons :
1/ C'est beaucoup plus gourmand en mémoire de par l'utilisation de la fonction system
2/ Tu perds largement en portabilité.
Par contre, avec le printf, faut faire attention à vider le buffer stdout soit de manière explicitement soit c'est fait automatiquement.
Cdlt