关于auxDIBImageLoad函数:char * 转 LPCWSTR
来源:互联网 发布:知秋凤凰婚庆破产了? 编辑:程序博客网 时间:2024/05/14 05:22
在使用OpenGL加载纹理图的过程中,遇到了Unicode字符集的问题:auxDIBImageLoad函数。
查看定义我们发现系统将函数define为auxDIBImageLoadW函数,而auxDIBImageLoadW函数的参数为LPCWSTR。
通过查阅资料,MultiByteToWideChar函数是解决这个问题的最方便的一种。
解决方法:(LPCWSTR实际上也是CONST WCHAR *类型)
char *filename = "data/map.bmp";WCHAR wfilename[256]; memset(wfilename,0,sizeof(wfilename));MultiByteToWideChar(CP_ACP,0,Filename,strlen(Filename)+1,wfilename,sizeof(wfilename)/sizeof(wfilename[0]));auxDIBImageLoad(wfilename);
------------------------------------------------------------------------------------------------------------------------------------------------------
补充一点:如果直接使用“...”的字符串的话,只需要在前面加上L即可完成转化。
例如:
auxDIBImageLoad(L("data/map.bmp"));或者MessageBox(NULL,L"Turn to next level!",L"Congratulation",MB_OK)
但是如果是变量字符串,则需使用auxDIBImageLoadW函数做转换。
0 0
- 关于auxDIBImageLoad函数:char * 转 LPCWSTR
- 关于char * ,const char* 转 LPCWSTR 无效的方法
- char*转LPCWSTR解决方案
- char*转LPCWSTR解决方案
- char*转LPCWSTR解决方案
- char*转LPCWSTR解决方案
- char* 转 LPCWSTR 解决方案
- char* 转 LPCWSTR 解决方案
- char* 转 LPCWSTR 解决方案
- const char* 转 LPCWSTR LPCSTR
- 关于char转换成LPCWSTR的问题
- VC++中char*转WCHAR*、LPCWSTR
- const char*转LPCWSTR的方法记录
- Qt中如何将char*转LPCWSTR
- VS2005中关于char[]转换成LPCWSTR的问题
- 关于无法从“const char [4]”转换为“LPCWSTR”
- VS2005中关于char[]转换成LPCWSTR的问题
- 关于vs2013中const char*和LPCWSTR不兼容
- JavaScript向php传递json数据之后php解析json数据
- C语言第二课练习
- 【经典面试题】两个栈模拟一个队列
- Sting类、StringBuffer类、StringBuilder类的应用
- UFT工具测试Flight系统
- 关于auxDIBImageLoad函数:char * 转 LPCWSTR
- C语言第一课练习
- XYLX 10.14 (洛谷U1405) problems
- 事务的创建与恢复——调试与测试的必须手段
- Why PostgreSQL stream replication standby so fast
- Game Performance: Data-Oriented Programming
- 设计模式学习笔记--建造者模式
- iOS怎样将相册的图片上传到网上
- 电脑右下角时间显示