控制台输出中文字符
有时调试需要在控制台输出 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;
分类:
C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!