vc2010 win32 控制台应用程序中文乱码
vc2010 win32 控制台应用程序中文乱码
在 vc2010 上用 win32 控制台程序写些测试代码调用 windows api ,处理错误信息时,发现用 wprintf 输出的错误信息出现了乱码 ??????? 。
整个代码的逻辑很简单,如下:
调用 windows api 并判断返回值,如果出错,用 GetLastError() 获取错误号 nLastError ,最后用 FormatMessage 获取错误信息
wchar_t szBuff[nSize+1] = L"";
if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
nLastError,
0,
szBuff,
nSize,
NULL)) {
wprintf(L"Format message Failed with %d\n", nLastError);
}
else {
wprintf(L"%d -> %s\n", nLastError, szBuff);
}
但是,输出的错误信息里面却是乱码。
在 http://blog.csdn.net/testcs_dn/article/details/26164025 找到了原因和解决办法,使用 _wsetlocale 设置本地化能让中文正常显示。
#include <local.h>
...
_wsetlocale(LC_ALL, L"chs");
...
以前还没有遇到这个问题,无论是使用多字节还是 unicode 都很正常,不知道什么地方引起的,一个小坑。
vc2010 win32 控制台应用程序中文乱码的更多相关文章
- C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出
C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHandler函数 注意:在VS中调试执行时,在处理程序例程中设置断 ...
- Visual Studio C++ Win32控制台应用程序,Win32项目,MFC的区别
背景 Visual Studio C++ 创建新项目蹦出来如下选项: Win32控制台应用程序,Win32项目,MFC有什么区别? 正文: Win32控制台,没有界面,命令行执行生成的文件则直接在后台 ...
- win32应用程序和win32控制台应用程序的区别
win32应用程序是有窗体的(当然也可以没有),有Windows消息循环机制的.而win32控制台应用程序只是在控制台下运行的程序,类似以前dos的程序. 后续答案: Win32 Appl ...
- VS2017:win32项目与win32控制台应用程序的转换方法
原文:https://www.cnblogs.com/asuser/articles/12297251.html 刚开始使用VS2017新建项目工程时,有时把应用类型的工程建成控制台类型的工程,在编译 ...
- 【Jenkins】控制台输出是中文乱码
1.问题:查看控制台输出,有的时候,输出信息是中文乱码的 2.解决方法:在环境变量里配置 拷贝出来: JAVA_TOOL_OPTIONS -Dfile.encoding=UTF-8 3.结果:输出信息 ...
- 【已解决】关于IDEA中 Tomcat 控制台打印日志中文乱码的解决
在 Idea 上面使用 Tomcat 时,发现控制台打印信息的时候,出行中文乱码问题; 可以通过以下几种解决办法 1:在-Dfile.encoding=UTF-8 在vm中设置编码方式 2.然后从Fi ...
- sublime text3 nodejs控制台输出结果中文乱码
在sublime text3安装完nodejs的插件后,运行console.log("你好"),发现控制台出现中文乱码,解决办法:Preferences-> Browser ...
- idea启动tomcat后控制台日志显示中文乱码问题
想必有些人 会遇到 控制台中文乱码: 可以通过以下方法解决该中文乱码问题: 1. 点击Help => Edit custom VM Options,在最后面添加 "-Dfile.en ...
- tomcat控制台运行窗口中文乱码
启动tomcat时出来的运行窗口中文乱码, 如图所示:看得有点不舒服 解决方法:找到Tomcat安装路径下的 /conf/logging.properties 文件 文件末尾添加语句: java.ut ...
随机推荐
- [转] - QThread应用探讨
QThread 似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用 QThread,随便用google一搜,就能搜出大量结果出来.无怪乎Q ...
- java 文件读写
http://blog.csdn.net/jiangxinyu/article/details/7885518
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 用wget下载文件
wget使用文档:https://www.gnu.org/software/wget/manual/wget.html 最开始常用的比如: wget -O /e/movie.mp4 http://w ...
- nVIDIA SDK White Paper ----Vertex Texture Fetch Water
http://blog.csdn.net/soilwork/article/details/713842 nVIDIA SDK White Paper ----Vertex Texture Fetch ...
- 在xml中使用图片资源时,设置重复图片而不是拉伸平铺
直接把图片放入xml中时,默认会拉伸图片填充.而用下面的方法则可以实现重复图片 <?xml version="1.0" encoding="utf-8"? ...
- Yii2目录结构
assets 前端资源文件夹,大致用于管理css js等前端资源文件等 commands 包含命令行命令 文件为控制器文件 config 应用程序的配置文件 controllers 控制器文 ...
- jQuery 利用 $.getJson() 实现跨域
数据量不大时,跨域的不二之选,而且操作简单,易上手. a.com/test.html //这里我假定有一些数据: var formData = form.serialize(); //这里的jsonc ...
- smoke
1.Have a smoke? 2.Would you like a cigarette? 3.Cigarettes? 4.Let's go have a smoke. 5.Do you smoke ...
- Worker 工作 后台js 工作
<script type="text/javascript"> var w; function startWorker() { if (typeof (Worker) ...