cs_zame
Messages postés85Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention20 février 2006
-
9 déc. 2004 à 15:12
cs_zame
Messages postés85Date d'inscriptionjeudi 27 mai 2004StatutMembreDernière intervention20 février 2006
-
12 déc. 2004 à 19:36
Bonjour j'ai déja cherché sur le site mais je n'ai rien trouvé malgrés les reponses deja proposees.
Je dois mettre dans un char le caractere CARRE ou similaire mais je ne trouve pas le code.Je sais mette un "u e .." avec accents,
Mais pour les caracteres "speciaux" etendus, je cru lire que certains utilisais les carrés pour les bord en console .
Je pense qu'il faut specifier au compilo le jeu de caractere etendu mais je n'ai pas trouvé.
et la syntaxe utilisée est elle la meme que pour les éè... "\202".. ?
Puisque dans la table de caractere de windows le carré n'a pas de alt+... , mais une valeur unicode.
minet03
Messages postés415Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention 2 décembre 20053 9 déc. 2004 à 17:34
Je pense que tu trouveras ce que tu cherches dans les codes hexadécimaux des caractères (je crois qu'ils sont dans MS Word).
après tu rentre dans ton char : char caractere = 0xcode;
enfin je crois
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 10 déc. 2004 à 15:44
Bon, je récapitule alors (désolé si je suis pas clair, je suis présentement malade avec fièvre et tout le toutim...)
Donc. Si tu veux utiliser des caractères spéciaux dans une console, deux possibilités : soit tu utilises les caractères ANSI comme dit plus haut avec \XXX ou XXX est le code octal du caractère (compatible printf), soit tu utilises Unicode et une des API WriteConsole ou WriteFile pour écrire sur la console. Si tu retiens l'API, il faudra faire la mise en forme de ton texte dans un buffer avec wsprintf ou FormatMessage, cette dernière fonction pouvant d'ailleurs créer le buffer à ta place, de sorte que tu n'aies pas à le gérer toi même.
Dans le cas printf, tu dépends de la langue locale (mais y'a une API pour la définir, SetConsoleOutputCP) pour l'affichage des caractères. Dans le cas Unicode, tes caractères s'afficheront partout de la même manière, sans que tu n'aies rien à gérer.
Est-ce que je suis plus clair ? Si cela t'intéresse j'ai un ensemble .h/.c prêt à utiliser pour une console Unicode.
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 10 déc. 2004 à 17:13
Bon, il s'obstine à refuser la chaine avec cette erreur :
error C2308: concatenating mismatched wide strings
J'ai trouvé çà pour le forcer à la prendre en compte, mais c'est lourd :
TCHAR szMsg[] = TEXT("%askolnikov");
szMsg[0] = 0x042F;
MessageBox(NULL, szMsg, NULL, 0);
Le % ne servant qu'à réserver de la place pour le Я (deux octets).