Unicode以及.rc的一点问题

这篇博客探讨了Unicode宽字符函数在处理字符串时出现的乱码问题,原因是mbtowc函数在默认的"C" locale下进行转换。同时,介绍了如何从.rc资源文件中加载图片和创建对话框。在资源视图中添加IMAGE资源并设置ID,通过loadimage函数加载图片。对于.rc文件添加对话框,提到了两种方法,包括MFC代码和资源视图傻瓜式添加,强调了窗口回调函数和控件添加的重要性。
摘要由CSDN通过智能技术生成

一、宽字符函数对照
二、1.fwscanf(fp, L”%s”, mapname);得到的mapname按宽字符输出为乱码

原因为: fgetws内部调用了mbtowc,而mbtowc属于Locale-Dependent
Routines,而default使用”C” locale,”C” locale对应为ASCII character
set。所以由于代码页的错误,函数解析出错。

解决:CRT中的locale的方面的知识,在此句前加一句 setlocale(LC_ALL,"chs");即可

三、从.rc文件中加载图片(基于Easy_x, 此种方法是把.rc内嵌到exe中)
vs中添加.rc文件,打开资源视图,添加资源,自定义”IMAGE”,在”IMAGE”中再添加资源,选中文件夹中的图片,在资源视图中打开图片属性,ID改为”EMPTY”(注意”“不可以省略)
loadimage(&empty, _T(“IMAGE”), _T(“EMPTY”));

四从.rc加载对话框,并给对话框加图片、按钮等控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值