首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

帮小弟我看上这代码,搞好久了,不知道char*要怎样转成LPCWSTR

2012-09-23 
帮我看下这代码,搞好久了,不知道char*要怎样转成LPCWSTR帮我看下这代码,搞好久了,不知道char*要怎样转成LP

帮我看下这代码,搞好久了,不知道char*要怎样转成LPCWSTR
帮我看下这代码,搞好久了,不知道char*要怎样转成LPCWSTR
//auxDIBImageLoad(Filename);这函数要的是个LPCWSTR类型,怎么转换,
//强制转的话是乱码,char*指向8位的ANSI字符串,LPCWSTR指向16位的Unicode字符串
AUX_RGBImageRec *LoadBMP(char * Filename)// 载入位图图象
{
FILE *File=NULL;// 文件句柄
if (!Filename)// 确保文件名已提供
{
return NULL;// 如果没提供,返回 NULL
}
File=fopen(Filename,"r");// 尝试打开文件
if (File)// 文件存在么?
{
fclose(File);// 关闭句柄
  return auxDIBImageLoad(Filename);//(LPCWSTR)Filename); // 载入位图并返回指针
}
return NULL;// 如果载入失败,返回 NULL
}
在线等,好心人帮帮我

[解决办法]

C/C++ code
#include <windows.h>#include <atlstr.h>#define STRSAFE_NO_DEPRECATE#include <strsafe.h>            // for String... functions#include <crtdbg.h>                // for _ASSERTE     CStringW ConvertW(CString str, int sourceCodepage)    {        //int len=str.GetLength();        int unicodeLen=MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0) + 1;        wchar_t* pUnicode;        pUnicode=new wchar_t[unicodeLen];        memset(pUnicode,0,(unicodeLen)*sizeof(wchar_t));        MultiByteToWideChar(sourceCodepage, CP_ACP, str, -1, (LPWSTR)pUnicode, unicodeLen);        CStringW rt = pUnicode;        //delete pUnicode;        SAFE_DELETEGROUP( pUnicode );        return rt;    }
[解决办法]
原来是我打错了。
应该是
include Atlconv.h
文件。

[解决办法]
现调用setlocal
然后就可以用
mbstowcs
wcstombs
[解决办法]
"minox.bmp"改为:_L"minox.bmp",不知道要不要加括号变成_L("minox.bmp"),忘记了,都试试吧。

热点排行