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一编译,这程序没有错误还好,这一有错误发现输入 ...
随机推荐
- nginx命令行参数和信号
nginx命令行参数 [user@host dir]$ /usr/local/nginx/sbin/nginx -hnginx version: nginx/1.8.0Usage: nginx [-? ...
- 【咸鱼教程】BitmapLabel位图字体使用
引擎版本3.2.6 教程目录一 为什么要使用位图字体二 如何使用位图字体2.1 TextureMerger制作位图字体2.2 exml中使用位图字体三 Demo源码 一 为什么要使用位图字体egre ...
- Java秒杀简单设计三:数据封装类
上一篇https://www.cnblogs.com/taiguyiba/p/9828984.html 整合了数据库表和Dao层代码 这一篇继续设计数据封装类: 涉及到获取秒杀地址,查询,返回秒杀结果 ...
- Shell输入输出重定向
全部可用的重定向命令列表 命令 说明 command > file 将输出重定向到 file. command < file 将输入重定向到 file. command >> ...
- 170822、解决PLSQL记录被另一个用户锁住的问题
1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...
- 微信小程序中target与currentTarget
target在事件流的目标阶段:currentTarget在事件流的捕获,目标及冒泡阶段.但事件流处于目标阶段,target与currentTarget指向一样, 而当处于捕获和冒泡阶段的时候,tar ...
- HDU-1011 Starship Troopers(树形dp)
Starship Troopers Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 2018-2019-2 20165330《网络对抗技术》Exp1 PC平台逆向破解
目录 实验目标 实验内容 知识点描述 实验步骤 实验过程中遇到的问题 实验感想 实验目标 本次实验的对象是一个名为pwn1的linux可执行文件. -该程序正常执行流程是:main调用foo函数,fo ...
- HDU 1166 - 敌兵布阵 - [单点修改、区间查询zkw线段树]
题还是那个题:http://www.cnblogs.com/dilthey/p/6827959.html 不过我们今天换一种线段树实现来做这道题: 关于zkw线段树的讲解:https://zhuanl ...
- CentOS 7 安装. Net Core SDK 2.0
1.安装.Net Core SDK 2.0 1)首先准备好先决条件 sudo yum install libunwind libicu(安装libicu依赖) 2)下载.net Core SDK二进制 ...