Supercript

spy20 Messages postés 3 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 19 février 2009 - 19 févr. 2009 à 18:42
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 22 févr. 2009 à 19:08
Bonjour,
après mais très nombreuses recherches je n'ai toujours pas réussi à trouver une solution.
Je souhaiterais afficher dans une console windows des chiffres à l'exposant.
Outre le 0,1,2,3, je voudrais afficher 4-9.
Sur Mac, ça marche, mais sur windows je rencontre bien des difficultés.

Voici ce que j'ai dans mon code :
#define unicode
#include<windows.h>
#include<string>
...
std::locale::global(std::locale(""));
wstring s=L"\xB2\xB3";     //me renvoit bien 2et3 à l'exposant
wstring t=L"\u2070";    //me renvoit 0 à l'exposant
wcout<<s;
wcout<<endl<<t;


Mais quand je change 2070, par 2074 (par ex) ou autre, il ne m'affiche pas le bon caractère.
Merci d'avance pour vos idées, je suis en plein désespoir ^^.
++, Syl.

P.S: pour Mac mon code est différent.

1 réponse

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
22 févr. 2009 à 19:08
Salut,

J'ai bien peur que l'invite de commande ne propose qu'un jeu de caractères restreint.

Avec le code suivant :
<hr size="2" width="100%" />#include <windows.h>

int main()
{
  int nI;
  DWORD nBuffer;

  for (nI = 33; nI < 255; nI++)
    WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), &nI, 1, &nBuffer, NULL);
  return 0;
}
<hr size="2" width="100%" />J'obtiens :

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]
^_`abcdefghijklmnopqrstuvwxyz{|}~¦ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñ
Ѫº¿®¬½¼¡«»¦¦¦¦¦ÁÂÀ©¦¦++¢¥++--+-+ãÃ++--¦-+¤ðÐÊËÈiÍÎÏ++
¦_¦Ì¯ÓßÔÒõÕµþÞÚÛÙýݯ´­±=¾¶§÷¸°¨·¹³²¦

J'ai bien les exposants 0, 1, 2 et 3. Mais pas les autres.

C'est la page de code 850, par défaut sur les Windows européens.

Tu peux changer la page à l'aide de SetConsoleCP.

Mais il n'y a peut être pas de page contenant les autres exposants que ce soit au niveau des pages de windows et des pages OEM.

Reste la notation 2^12.
0
Rejoignez-nous