控制台输出中文字符

有时调试需要在控制台输出 string(使用 printf), wstring(wprintf) 。但是当 wstring 中包含中文等Unicode字符时,wprintf就无法正确输出中文字符。

方法一、使用 _cwprintf来代替。

#include <iostream>
#include <conio.h>

// 需要包含头文件:<conio.h>
_cwprintf(L"中文 Test \n", L" 测试 string");

方法二、设置locale

std::wcout有时无法在控制台输出带有中文的字符,需要先进行设置,如下:

// 需要设置,否则下面的测试内容无法输出
std::wcout.imbue(std::locale(std::locale(), "", LC_CTYPE));

std::wcout << L"测试数据 中文 string 内容" << std::endl;

posted @   Jeffxue  阅读(33)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示