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一编译,这程序没有错误还好,这一有错误发现输入 ...
随机推荐
- 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录
创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...
- HDU 2199 Can you solve this equation(二分答案)
Can you solve this equation? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- vs 的git插件
在vs2013上Tfs提供的git管理完全无法理解他的管理方式,还是 Git Source Control Provider 好用用. 下载地址: [http://gitscc.codeplex.co ...
- Html5游戏框架createJs组件--EaselJS(一)
现在html5小游戏越来越火爆了,由于公司业务的需要,也开发过几款微信小游戏,用canvas写的没有利用什么框架,发现性能一直不怎么好,所以楼主就只能硬着头皮去学习比较火的Adobe公司出的Creat ...
- numpy.argsort详解
numpy.argsort(a, axis=-1, kind='quicksort', order=None)[source] Returns the indices that would sort ...
- 畅通工程 HDU - 1863 最小生成树模板
两个模板: kruskal #include<stdio.h> #include<queue> #include<algorithm> #include<io ...
- 500 status http status code 状态码
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status Server error responses 500 Internal Server ...
- iOS多线程编程之线程间的通信(转载)
一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 ...
- sklearn学习总结(超全面)
https://blog.csdn.net/fuqiuai/article/details/79495865 前言sklearn想必不用我多介绍了,一句话,她是机器学习领域中最知名的python模块之 ...
- Bitfinex API
本文介绍Bitfinex APi Platform Status Get the current status of the platform. Maintenance periods last fo ...