wprintf或_tprintf不显示中文和乱码问题
1.由于中文问题,宽字节编译时会遇到一些不显示或显示乱码问题
如下列代码: 分别是WIN API写入和读取文件,测试_tprintf就会不显示
#include "stdafx.h"
#include <cstdlib>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
//写入文件
HANDLE hFile = CreateFile(_T("test.out"),GENERIC_WRITE,FILE_SHARE_WRITE,nullptr,CREATE_ALWAYS,0,nullptr);
DWORD dRetBytes = 0;
TCHAR msg[] = _T("我爱你");
//printf("写入文件");
if (hFile != INVALID_HANDLE_VALUE)
{
WriteFile(hFile,msg,sizeof(msg)-1,&dRetBytes,nullptr);
_tprintf(_T("写入文件成功!!!\r\n"));
CloseHandle(hFile);
}
//读取文件
hFile = CreateFile(_T("test.out"),GENERIC_READ,FILE_SHARE_READ,nullptr,OPEN_ALWAYS,0,nullptr);
if (hFile != INVALID_HANDLE_VALUE)
{
TCHAR line[255] = {0};
ReadFile(hFile,line,sizeof(line),&dRetBytes,nullptr);
if (dRetBytes != 0)
{
_tprintf(_T("%s\r\n"),line);
}
CloseHandle(hFile);
}
return 0;
}
2.解决方案:包含头文件locale.h,并在程序开始调用setlocale(LC_ALL, "chs");
_tprintf_s或者_tprintf便能正常打印出中文字符串了:
3.添加代码如下:
#include <locale.h>
_tsetlocale(LC_ALL,_T("chs"));
//setlocale(LC_ALL, "chs");
wprintf或_tprintf不显示中文和乱码问题的更多相关文章
- git status 显示中文和解决中文乱码
目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解决中文乱码 git status 显示中文和解决中 ...
- matplotlib 无法显示中文和负号的解决办法
matplotlib无法显示中文和负号解决办法
- 嵌入式qt显示中文和隐藏鼠标
最近项目快接近尾声了,要把项目移植到板子上,但是板子上的系统没有安装字库,导致中文无法显示,并且有一个很讨厌的鼠标光标(又没有鼠标),上网找了一些解决方案,记录一下 qt显示中文: 如果你急于在ARM ...
- SecureCRT显示中文和语法高亮
因为默认情况下,SecureCRT不能显示语法高亮特性,整个界面颜色单一,看起来不爽,也没有效率,所有通过设置一下语法高亮还是很有必要的, 默认字体也看着不是很清晰,还是更改为我比较喜欢的Courie ...
- ubuntu字符界面下显示中文和调整分辨率
1.sudo apt-get install zhcon 2.vi /etc/zhcon.conf 修改下面两行 x_resolution 1024 y_resolution 768 完成这两步后在 ...
- Matplotlib不能显示中文和正负号的问题
参考链接:https://www.jianshu.com/p/240ea3ae0dc9 在使用matplotlib画饼状图时,遇到了如下问题 UserWarning: findfont: Font f ...
- 一个label 里面 显示中文和英文不同颜色
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor yellowColor]; ...
- MAC下 mysql不能插入中文和中文乱码的问题总结
MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...
- mingw下的msys显示与输入乱码
一直很喜欢gcc+vim这个貌似已经不用在强调了,好了,我只是想说明下我的问题是首先从gcc编译出错提示开始的 正如上面所说,安装完MinGW后使用gcc一编译,这程序没有错误还好,这一有错误发现输入 ...
随机推荐
- Artech的MVC4框架学习——第八章View的呈现
总结:定义在controller中的action方法一般会返回actionResult的对象对请求给予 响应.viewResult是最常见也是最重要的ActionView的一种(p411).view模 ...
- 剑指offer题目记录
1.如下为类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString { public: CMyString(char* pData = NULL); CMyStri ...
- 170817、Nginx详细配置
Nginx能做什么 nginx主要是做转发,当然也可以做静态资源文件缓存,做转发的时候,比如你有几个url,可以统一通过走nginx,然后通过nginx转发到不同的url上 1.反向代理 反向代理应该 ...
- cp命令取消提示的方法
Linux默认cp命令带参数-i如果有重复的文件会提示覆盖 查看cp别名 在大量复制的时候这个提示不友好,在脚本写复制命令也无法使用交互式输入 解决办法 1,修改别名 vi ~/.bashrc 注释掉 ...
- opengl学习笔记(二):使用OpenCV来创建OpenGL窗口
通常的增强现实应用需要支持OpenGL的OpenCV来对真实场景进行渲染.从2.4.2版本开始,OpenCV在可视化窗口中支持OpenGL.这意味着在OpenCV中可轻松渲染任何3D内容. 若要在Op ...
- URAL 1277 - Cops and Thieves - [无向图点带权的最小点割]
题目链接:https://cn.vjudge.net/problem/URAL-1277 The Galaxy Police (Galaxpol) found out that a notorious ...
- Java异常的优势与缺陷,及其处理原则
最近在做一个读取数据库元数据的框架,其中的数据库的检查异常让人印象深刻.try-catch简直让人抓狂,同时作为框架哪些异常时应该抛出来给调用人员,哪些是应该自己处理掉的,抛出来的异常时检查异常还是非 ...
- POJ_3368_Frequent values
Frequent values Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19998 Accepted: 7180 ...
- Python:正则表达式概念
#正则表达式内容非常多,网上的学习资源也是目不暇接,我从中筛选学习并且整理出以下 的学习笔记 一.正则表达式匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一 ...
- 特征向量-Eigenvalues_and_eigenvectors#Graphs 线性变换
总结: 1.线性变换运算封闭,加法和乘法 2.特征向量经过线性变换后方向不变 https://en.wikipedia.org/wiki/Linear_map Examples of linear t ...