La fonction Le caractère reste majuscule. Des questions similaires ont été posées ici auparavant, mais je ne trouve aucune solution. P> existe une autre méthode que je peux utiliser pour changer en minuscule? P> p> Towlower () code> ne semble pas fonctionner dans Visual Studio 2012. Voici un exemple:
3 Réponses :
Est-ce que cela fait moins de dégâts que la squelette? j / k. Je ne connais pas avec le R inversé, mais je sais que si le personnage n'a pas d'équivalent en minuscule, à (W) inférieur retournera le caractère d'origine. http://fr.cppreference.com/w/c/string/wide/twlower p>
Je vois deux possibilités. Le premier est que les paramètres régionaux ne sont pas réglés correctement. De MSDN :
La conversion de cas de
Towlower code> est spécifique à la locale. Seuls les personnages pertinents pour le courant Les paramètres régionaux sont changés au cas où. Les fonctions sans le suffixe code> _l code> utilisent la locale actuellement définie. P> BlockQuote>
Le second est le fichier source codant.
L'ð¯ ' code> pourrait signifier différentes choses en fonction de ce que votre fichier source est codé. Cela ne fonctionnera pas, par exemple, si vous l'avez dans
UTF-8 code>. Assurez-vous de l'avoir dans
UTF-16 CODE>. Ou pour éliminer toute confusion possible, mettez-la comme ce
'\ u042f' code> p>
Mise à jour: strong> sur la deuxième pensée de ce tout l code > Les affaires sont difficiles. Si le compilateur comprend correctement le codage, via Bom par exemple, cela peut correspondre à ce que
utf-8 code> ou tout autre codage. Important qu'il faut savoir quel est le codage. Il doit s'agir de très bien de la mise en œuvre spécifique. P>
une autre mise à jour: strong> Pour résoudre le problème, essayez de définir les paramètres régionaux via: P> xxx pré> Ou utilisez la version qui prend la locale sous forme de paramètre (
_tulewower_l code>). p>
et il y a aussi sur tout ce qu'un pragma qui indique au compilateur comment traiter les littéraux de chaînes non ASCII dans le fichier. p> p>
Par défaut, je crois que VC ++ traite les fichiers source comme Windows-1252 codé (alias presque-mais pas-tout à fait latin1), ce qui signifie que les caractères de fantaisie comme я code> sont susceptibles de se faire mutiler. Donc, oui, utilisez définitivement
\ u042f code>. :)
VC ++ reconnaît l'ONUICODE BOM et agit en conséquence, même dans les fichiers UTF-8.
Utilisez la version Code> Tolower Code>, mais n'oubliez pas de définir également la locale C.
Par exemple: P>
The letter is: Я => Ñ
Nous fermons toutes les questions de TYPO, au fait.
@ H2CO3: Maintenant tu m'as trompé aussi :(. Voir
Toupleur Code>
Que veux-tu dire? Il n'y a pas de faute de frappe.
Aucun typo c'est un appel valide. Cplusplus.com/reference/cwctype/twlower
Vous devez définir manuellement un local depuis que C ++ par défaut utilise la locale invariante C, quoi qu'il arrive. Je ne sais pas les locaux Unicode installés sur Windows, cependant.
@Zeta DAMN. Mince! MINCE! C'est ce qui se passe quand je ne suis pas rtfm ... désolé. :-(
Peut-être que le nouveau titre gardera les clowns d'essayer de fermer cette question. C'est en fait un très bon, un +1 de moi.
@Codygray the Visual-Studio-2012 tag était assez pertinent en réalité ...
@Konrad vraiment, pourquoi? Qu'est-ce qui a changé dans VS 2012 qui affecte ce comportement?
@ H2CO3 et la question a maintenant accumulé des votes proches qui ont tendance à attirer des votes plus closes. Bon appel. ;)
@jalf: Ne pensez-vous pas que "trop localisé" est juste un méta-jeun?
@jalf j'ai signalé cela pour refléter mon erreur, je ne sais pas si les modérateurs peuvent annuler des votes closes erronées, cependant ...
@Codygray la plate-forme i> est importante. Les locaux par exemple ont des noms différents sur différentes plates-formes et c'est un détail pertinent ici.
Utilisez l'ICU. Ou mieux, utilisez l'ICU Thru Boost :: locale