关于auxDIBImageLoad函数:char * 转 LPCWSTR

https://blog.csdn.net/aptx704610875/article/details/49130475

在使用OpenGL加载纹理图的过程中,遇到了Unicode字符集的问题:auxDIBImageLoad函数。

查看定义我们发现系统将函数define为auxDIBImageLoadW函数,而auxDIBImageLoadW函数的参数为LPCWSTR。

通过查阅资料,MultiByteToWideChar函数是解决这个问题的最方便的一种。

解决方法:(LPCWSTR实际上也是CONST WCHAR *类型)

 

 
  1. char *filename = "data/map.bmp";

  2. WCHAR wfilename[256];

  3. memset(wfilename,0,sizeof(wfilename));

  4. MultiByteToWideChar(CP_ACP,0,Filename,strlen(Filename)+1,wfilename,sizeof(wfilename)/sizeof(wfilename[0]));

  5. auxDIBImageLoad(wfilename);

 

------------------------------------------------------------------------------------------------------------------------------------------------------

补充一点:如果直接使用“...”的字符串的话,只需要在前面加上L即可完成转化。

例如:

 

 
  1. auxDIBImageLoad(L("data/map.bmp"));

  2. 或者

  3. MessageBox(NULL,L"Turn to next level!",L"Congratulation",MB_OK)

但是如果是变量字符串,则需使用auxDIBImageLoadW函数做转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenGL GLAUX库是一个用于处理图形和音频的辅助库。在过去的几十年中,它被广泛用于OpenGL编程中。然而,GLAUX库自从Windows XP开始已经停止了更新和维护,因此不再被推荐使用。这意味着,要在现代的OpenGL项目中使用GLAUX库,可能会遇到一些兼容性和功能性的问题。 由于GLAUX库不再被支持,我们很难在官方渠道中找到可靠的下载源。即使在某些非官方网站上找到了GLAUX库的下载链接,我们也无法保证其安全性和兼容性。 为了替代GLAUX库,我们可以使用其他现代化的OpenGL辅助库,如GLEW、GLFW和SDL等。这些库提供了更强大和可靠的功能,可以帮助我们更好地开发和管理OpenGL项目。 如果您有需要使用GLAUX库的旧项目,可以尝试在一些历史文档和代码库中寻找相关的资源。但请注意,由于GLAUX库已经过时,您可能需要花费更多的时间和精力来使其适应现代的开发环境。 总结来说,虽然GLAUX库曾经是OpenGL编程中非常有用的辅助库,但由于其停止更新和维护,我们不建议使用它。取而代之的是,我们应该使用现代的OpenGL辅助库来更好地满足我们的开发需求。 ### 回答2: openglglaux库是一个在OpenGL图形库中使用的辅助库。在OpenGL中,有时候我们需要加载和显示一些图像或纹理,这时就可以使用openglglaux库来帮助我们完成这些操作。 要下载openglglaux库,首先需要找到可靠的下载来源。可以在一些开源代码库或者相关论坛中找到openglglaux库的下载链接。在下载前,我们需要确认下载的版本与我们使用的OpenGL库版本相匹配,以免出现兼容性问题。 一般来说,下载openglglaux库只需将其源代码文件或相关的目标文件下载到本地即可。下载完成后,将库文件添加到你的项目中。具体添加方法可以通过修改IDE或编译器的项目配置来完成。 在编译和链接你的项目时,需要将openglglaux库的路径添加到你的编译器的包含目录和链接库目录中。这样,编译器才能找到并正确使用openglglaux库中提供的函数和功能。 使用openglglaux库时,你可以调用其中的函数来加载和显示图像或纹理。例如,使用auxDIBImageLoad函数可以加载一个DIB(设备无关位图)文件,然后可以使用OpenGL的纹理函数来将其作为纹理贴图显示在你的场景中。 总之,下载openglglaux库需要找到可靠的下载来源,并按照指定的方法将其添加到你的项目中。使用openglglaux库可以方便地加载和显示图像或纹理,从而提升你的OpenGL图形应用的效果和视觉质量。 ### 回答3: openglglaux库是一个用于图形处理的库,它通常用于在OpenGL应用程序中加载和操作图像文件。然而,需要注意的是,openglglaux库是一个过时的库,在最新的OpenGL版本中已经不再被支持。 如果您仍然想要使用openglglaux库,可以尝试以下步骤进行下载: 1. 在互联网上搜索openglglaux库的下载链接。您可以使用各种搜索引擎来查找可用的下载资源。请注意,由于该库已经过时,可能会比较难找到可靠的下载链接。 2. 一旦找到下载链接,点击进入下载页面。确保您选择的链接是来自于可信的来源,并且是与您正在使用的操作系统兼容的版本。 3. 在下载页面上选择合适的版本和操作系统。openglglaux库在不同的操作系统上有不同的编译版本,您需要根据自己的需求选择正确的版本进行下载。 4. 单击下载按钮开始下载openglglaux库。请注意,在下载和安装此库之前,您可能需要确认是否已经安装了OpenGL库和相关的开发工具。 5. 下载完成后,解压缩下载的文件。您可能需要使用解压缩软件,例如WinRAR或7-Zip等来完成此步骤。 6. 将解压后的文件复制到您的项目目录中。如果您正在使用集成开发环境(IDE),则可能需要将openglglaux库添加到您的项目设置中,以便可以正确地引用和使用库文件。 请注意,由于openglglaux库已经过时,它可能存在一些兼容性和功能性问题。建议您尝试使用更现代的替代方案,如FreeImage、SOIL或OpenGL的自带函数来加载和处理图像文件。这些替代方案通常更加稳定和可靠,并且与最新版本的OpenGL兼容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值