6
votes

Insertion d'une "£" Signer une chaîne de sortie en C ++

J'ai le code suivant:

cout << "String that includes a <some way of iserting the £ sign> sign";


0 commentaires

4 Réponses :


14
votes

£ n'a pas de "code ASCII" - ASCII est de 7 bits (0..127). Il existe différents ensembles de caractères de 8 bits étendus qui incluent £ mais il n'y a pas de norme unique pour cela et le symbole £ peut avoir diverses valeurs différentes dans différents environnements. Vous devriez probablement utiliser Unicode si vous avez besoin de symboles internationaux avec une portabilité maximale.


2 commentaires

Ouais. Cependant, vous pouvez essayer std :: wcout << l "chaîne qui comprend un signe £"; . Selon votre plate-forme, cela pourrait fonctionner.


Pour des éclaircissements. Dans Visual Studio: Projet -> Propriétés -> Propriétés de la configuration -> Général -> Modifier "Définir le caractère" de "Utiliser le jeu de caractères multi-octets" sur "Utiliser un ensemble de caractères Unicode"



3
votes

ASCII définit uniquement des caractères jusqu'à 127. (Le 8ème bit a été intenté pour la parité, nécessaire à la ligne de transmission bruyante des années 1960 lorsque ASCII a été conçue) au-delà de cela, les caractères varient selon les pages de code et de la police. Il y a une divergence entre la police utilisée par l'éditeur que vous utilisez pour écrire votre code C ++ et la police utilisée par tout ce qui affiche la sortie.

Donc, vous devez afficher le caractère 156 pour afficher un £ sur votre périphérique de sortie. . Vous pouvez explicitement entrer un personnage 156 sur un PC Windows, en maintenant la touche ALT et en appuyant sur "0159" sur le numérique numérique. Alternativement, vous pouvez utiliser un code de caractères dans la chaîne de Hex: xxx


0 commentaires

10
votes

Vous pouvez utiliser la séquence d'échappement \ x code> pour insérer un caractère avec son code hexadécimal. Dans votre cas

cout << "String that includes a \x9C sign";


0 commentaires

0
votes

J'ai essayé de répondre à la même question dans C.

une des réponses dans Affichage de grands caractères avec printf donne une idée d'une méthode éventuellement plus robuste. Lorsque vous utilisez le code :: Blocks Editor Ni \ X9C ou \ XA5 fonctionne. Cela pourrait être dû à la liste locale POSIX par défaut pour sa sortie de console, ceci est ASCII-SEUL, sans caractères ci-dessus \ X7F. Pour définir les paramètres régionaux sur UTF-8, nous pouvons utiliser setlocale (lc_all, "") code>. P> xxx pré>

in c ++, nous pouvons utiliser p>

printf("\xc2a3%.2f",123.456);


0 commentaires