Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1608 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Afficher caractères pique, coeur,etc...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher caractères pique, coeur,etc...

n°883199
thurfin
la clarté dans la confusion
Posté le 26-10-2004 à 16:41:37  profilanswer
 

Bonjour dans le cadre d'un Tp on doit programmer un jeu de carte en C sous Linux.
Comment afficher les caractères "pique", "coeur", etc... de la table ANSI
Faut il utiliser une library si oui laquelle
Merci d'avance.


---------------
De Marx j'ai avant tout retenu la notion de capital
mood
Publicité
Posté le 26-10-2004 à 16:41:37  profilanswer
 

n°883216
Taz
bisounours-codeur
Posté le 26-10-2004 à 17:02:35  profilanswer
 

ben tu prends la table ANSI ...

n°883826
thurfin
la clarté dans la confusion
Posté le 27-10-2004 à 12:52:36  profilanswer
 

Taz a écrit :

ben tu prends la table ANSI ...


mais en pratique (j'suis pas sur que la table ansi soit installé par défaut, c meme sur j'ai essayé avé le code ansi ca m'affichait autre chose)


---------------
De Marx j'ai avant tout retenu la notion de capital
n°883830
masklinn
í dag viðrar vel til loftárása
Posté le 27-10-2004 à 12:54:49  profilanswer
 

thurfin a écrit :

mais en pratique (j'suis pas sur que la table ansi soit installé par défaut, c meme sur j'ai essayé avé le code ansi ca m'affichait autre chose)


 :heink:  
ASCII c'est un standard de codage de caractères sur un octet, ya pas de installé ou pas installé qui tienne, j'ai jamais vu un ordi qui n'utilisait pas le standards ascii :sweat:
 
Tiens, si tu veux connaitre les codes de tous les caractères ascii dispos (Taz, regarde pas sinon tu vas me taper)

Code :
  1. #include <stdio.h>
  2. int main(int argc, char *argv[])
  3. {
  4.     int car;
  5.     unsigned int ecar;
  6.    
  7.     printf("Signed chars:\n" );
  8.     for(car=0; car<128; ++car)
  9.         printf("%d > %c\n", car, (char)car);
  10.     printf("\nUnsigned chars:\n" );
  11.     for(ecar=0; ecar<256; ++ecar)
  12.         printf("%d > %c\n", ecar, (unsigned char)ecar);
  13.     return 0;
  14. }


Message édité par masklinn le 27-10-2004 à 13:03:07

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°883855
Lam's
Profil: bas.
Posté le 27-10-2004 à 13:37:15  profilanswer
 

Masklinn a écrit :

:heink:  
ASCII c'est un standard de codage de caractères sur un octet, ya pas de installé ou pas installé qui tienne, j'ai jamais vu un ordi qui n'utilisait pas le standards ascii :sweat


 
Il a dit ANSI, pas ASCII. Il te faut donc dire à ton système d'installer la page de code correspondante (plutôt que Latin1, Arab3, etc.) pour qu'il sache que faire des caractères 128 à 255.
 
Sous MS DOS, ça se faisait avec CHCP je crois.
 
Sous Windows, ça se fait à l'installation, sachant qu'a priori, en France, US et UK, on utilise tous le ISO8859-1. Tiens, regarde:
http://msdn.microsoft.com/library/ [...] e_81rn.asp
 
Bref, le caractère &spades; n'est pas forcément 0xAA dans ta page de code...
 

n°883878
cris56
Posté le 27-10-2004 à 14:13:39  profilanswer
 

Masklinn a écrit :

:heink:  
ASCII c'est un standard de codage de caractères sur un octet, ya pas de installé ou pas installé qui tienne, j'ai jamais vu un ordi qui n'utilisait pas le standards ascii :sweat:


 
 
ca existe malgrés tout (EBCDIC chez ibm), et il existe plusieurs tables de codage ascii sur 8 bits

n°884958
thurfin
la clarté dans la confusion
Posté le 28-10-2004 à 15:27:29  profilanswer
 

effectivement je parlait bien de la table ansi 850 , ls n° de caractère sont ceux allant de 03H à 06H mais comment les afficher dans un programme C sous Linux  :??:

n°884967
Lam's
Profil: bas.
Posté le 28-10-2004 à 15:36:03  profilanswer
 

thurfin a écrit :

effectivement je parlait bien de la table ansi 850 , ls n° de caractère sont ceux allant de 03H à 06H mais comment les afficher dans un programme C sous Linux  :??:


Va chercher bonheur là:
   http://lct.sourceforge.net/
 
Ceci-dit, c'est super super rare les programmes qui affichent le Tapis Vert en mode console (sous Linux ou Windows). C'est tellement dépendant de milliards de trucs qu'il vaut mieux afficher "Pique", ou passer en mode graphique...

n°885227
lsdYoYo
gravity powered
Posté le 28-10-2004 à 19:13:19  profilanswer
 

+1 : ces caractères (code inférieur à 0x20) sont appelés caractères de contrôles. En mode console, y'a pas beaucoup de shell qui vont apprécier via un "printf()" ou un "cout".


---------------
If I want to fail and succeed, which I have done ?
n°885229
thurfin
la clarté dans la confusion
Posté le 28-10-2004 à 19:14:59  profilanswer
 

oui je pense que je vais écrire en toute lettres surtout que je n'ai pas les droit root à mon école :D

mood
Publicité
Posté le 28-10-2004 à 19:14:59  profilanswer
 

n°885328
Lam's
Profil: bas.
Posté le 28-10-2004 à 21:35:55  profilanswer
 

lsdyoyo a écrit :

+1 : ces caractères (code inférieur à 0x20) sont appelés caractères de contrôles. En mode console, y'a pas beaucoup de shell qui vont apprécier via un "printf()" ou un "cout".


 
En 8879 (celle qui sert de base à l'HTML, ou aux fontes Symbol par exemple) il sont entre A7 et AA. Il me semble que MS-DOS reprenait pas mal de ceux là plutôt que de s'encombrer avec les charactères ëspågnøls et nðrdíques :  
http://www.bbsinc.com/pic/fnt-symbol.gif
 
 

n°886648
thurfin
la clarté dans la confusion
Posté le 30-10-2004 à 21:14:39  profilanswer
 

Lam's a écrit :

Va chercher bonheur là:
   http://lct.sourceforge.net/
 
Ceci-dit, c'est super super rare les programmes qui affichent le Tapis Vert en mode console (sous Linux ou Windows). C'est tellement dépendant de milliards de trucs qu'il vaut mieux afficher "Pique", ou passer en mode graphique...


j'ai pas encore le niveau (1 mois de c d'expéreince seulement)


---------------
De Marx j'ai avant tout retenu la notion de capital
n°886707
darkoli
Le Petit Dinosaure Bleu
Posté le 31-10-2004 à 01:12:39  profilanswer
 

Pourquoi ne pas utiliser le codage Unicode (UTF-8 par exemple qui reste compatible avec les 128 premiers caractères de la table ASCII). Pour l'exemple, le fichier source était encodé dans ce format.

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int nb_parametres, char** parametres)
  4. {
  5. fprintf(stdout, "♠♣♥♦\n" );
  6. exit(EXIT_SUCCESS);
  7. }


Dans le cas où tu n'a pas la possibilité d'écrire ton programme au format UTF-8 :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int nb_parametres, char** parametres)
  4. {
  5. char symboles[15+1]={226, 153, 160, '-', 226, 153, 163, '-', 226, 153, 165, '-', 226, 153, 166, 0};
  6. fprintf(stdout, "%s\n", symboles);
  7. exit(EXIT_SUCCESS);
  8. }

Le terminal doit être capables d'afficher de l'UTF-8 ! (voir configuration des "locales", pour ma part j'utilise "fr_FR.UTF-8@euro" ).
 
Pique : "♠" ou "&spades;".
Trèfle : "♣" ou "&clubs;".
Coeur : "♥" ou "&hearts;".
Carreau : "♦" ou "&diams;".
 
http://alexandre.alapetite.net/doc [...] tml#pasie6
 
Attention, un caractère au format UTF-8 a une taille variable, donc pour afficher les symboles "♠", "♣", "♥" ou "♦", il faut que tu utilises une chaîne de caractères sans oublier le '\0' ! Dans l'exemple que je fournis, j'ai mis des tirets ('-') pour bien séparer les caractères Unicode !

/home/oli/prog/hfr > ./cartes
♠♣♥♦
♠-♣-♥-♦
/home/oli/prog/hfr >

Bon courage ! :D


Message édité par darkoli le 31-10-2004 à 01:53:34

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°888616
thurfin
la clarté dans la confusion
Posté le 02-11-2004 à 16:02:45  profilanswer
 

on va se tenter ca mais bon c pas gagné :D


---------------
De Marx j'ai avant tout retenu la notion de capital
n°888626
thurfin
la clarté dans la confusion
Posté le 02-11-2004 à 16:12:11  profilanswer
 

bon ben ca marche pas à mon école non pas qu'il y ait bug mais ca affiche tout autre chose (â-⣠etc...)
Merci qd meme.
[EDIT] je ne pense pas qu'il nous soit possible de faire en sorte que les terminaux puisse lire UFT8.


Message édité par thurfin le 02-11-2004 à 16:17:43

---------------
De Marx j'ai avant tout retenu la notion de capital

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Afficher caractères pique, coeur,etc...

 

Sujets relatifs
afficher quelque chose au passage de la souriscaractères qui ne passent pas sous Firefox ?
Examiner les caractères d'un champcaracteres spéciaux MAC -> PC
Afficher des caracteres speciaux dans printf....comment bien afficher des données groupées ?
[Java cardLayout] J'arrive pas a les afficher.Caracteres spéciaux en DOM
Afficher un élément dans une GroupBox 
Plus de sujets relatifs à : Afficher caractères pique, coeur,etc...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR