Maison >développement back-end >C++ >Comment puis-je afficher des caractères Unicode vers la console Windows à l'aide de C ?

Comment puis-je afficher des caractères Unicode vers la console Windows à l'aide de C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 16:15:12221parcourir

How Can I Output Unicode Characters to the Windows Console Using C  ?

Sortie Unicode vers la console sous Windows à l'aide de C

Lorsqu'ils tentent d'afficher des caractères Unicode dans la console Windows à l'aide de cout, les utilisateurs peuvent rencontrer des sorties déformées car Unicode n'est pas pris en charge par par défaut dans cmd. Pour résoudre ce problème, diverses méthodes peuvent être utilisées pour activer la prise en charge d'Unicode dans l'environnement de console.

Une approche consiste à utiliser le flux de sortie à caractères larges, std::wcout. En ajoutant un L avant la chaîne Unicode, elle peut être transmise à std::wcout pour un affichage correct.

#include <iostream>

int main() {
    std::wcout << L"Hello World!" << std::endl;
    return 0;
}

Cependant, il est important de noter que même si std::wcout résout le problème de la prise en charge d'Unicode, cela ne garantit pas un rendu correct dans la console. Pour activer complètement la sortie Unicode, des étapes supplémentaires sont nécessaires.

Tout d'abord, la console doit être configurée pour gérer Unicode. Cela peut être réalisé en démarrant cmd avec l'argument /u ou en appelant chcp 65001 pour changer le format de sortie de la console en UTF-16. Enfin, une police Unicode, telle que Lucida Console Unicode, peut être définie dans la console pour un rendu optimal.

Alternativement, _setmode(_fileno(stdout), _O_U16TEXT); La fonction peut être utilisée pour activer la prise en charge Unicode, comme documenté dans cet article de blog. Cette approche nécessite l'inclusion des bibliothèques fcntl.h et io.h.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn