# [C] table ascii différente de celle des pc???



## Yggdrasill (22 Décembre 2005)

Bonsoir,

j'ai un petit problème, je dois faire pour l'école un jeux de "démineur" en C. Je le code sous Xcode 2.2

Je travaille avec un tableau d'int dans lequel je place bombe et incrémentation de case.
A l'afichage, je souhaite imprimer un "X" à la place de la valeur de la bombe (que j'ai arbitrairement fixé à -1). pour cela, je fait un 
	
	



```
printf ("%3c",);
```
 car ma table ASCII m'indique que c'est la valeur hexa de 'X', or à la compilation, lorsque je l'exécute, je vois des ? à l'envers à la place de mon 'X'.

Idem si je souhaite faire un espace (' '), je fais un 
	
	



```
printf ("%3c",20);
```
 car c'est le code de l'espace selon ma carte ASCII.

Pour y remédier, j'ai du créer une variable de plus, nommée space (de type char) que j'initialise de la sorte

```
char space=' ';
```
 et que j'utilise ds mon printf

```
printf ("%3c",space);
```

J'ai aussi constaté après un bref calcul que si je rajoutais 10 (hexa) à la valeur indiquée par ma table ascii, j'obtenais le bon caractère.
Au lieu de faire un printf ac 58, si je le fais avec la valeur 68, ça marche...

Comment cela se fait t'il? Os X utilise t'il un autre jeu de code ASCII que celui des pc?

PS: si vous voulez l'entièreté du code pour comprendre, dites le, je le posterai.

Merci !


----------



## Didier Guillion (23 Décembre 2005)

Les caracteres ASCII (0 à 127) sont identiques de MAC a PC, c'est apres que c'est different.

Si tu veut afficher un "X", fait

printf("X");

Un espace :

printf(" ");

Un caractère dans une variable

short car='A';

printf("%c",car);

Cordialement


----------



## Yggdrasill (25 Décembre 2005)

Malheureusement, je travaille avec des tableaux, ce qui implique dans le cas ou je voudrais faire un printf ("X"); une suite incalculable de if et else étant donné qu'il y a bcp de valueur différentes dans le dit tableau.
De plus j'utilise le %3d ou %3c pour être sur que toutes mes valeurs soient bien alignées lors de l'affichage.

Sait tu ou je pourrais trouver une table ascii "mac"?

Merci !


----------



## Didier Guillion (25 Décembre 2005)

Yggdrasill a dit:
			
		

> Malheureusement, je travaille avec des tableaux, ce qui implique dans le cas ou je voudrais faire un printf ("X"); une suite incalculable de if et else étant donné qu'il y a bcp de valueur différentes dans le dit tableau.
> De plus j'utilise le %3d ou %3c pour être sur que toutes mes valeurs soient bien alignées lors de l'affichage.
> 
> Sait tu ou je pourrais trouver une table ascii "mac"?
> ...




Je ne comprends pas, les valeurs des caracteres de 0 a 127 (ASCII) sont standard sur Mac. Mise a part l'encodage des fins de ligne qui est specifique, mais c'est en dehors de ton probleme.

Cordialement


----------

