当前位置: 代码迷 >> WinCE >> wince+MFC error C2440: “=”: 无法从“const wchar_t *”转换为“LPWSTR”,该如何处理
  详细解决方案

wince+MFC error C2440: “=”: 无法从“const wchar_t *”转换为“LPWSTR”,该如何处理

热度:560   发布时间:2016-04-28 11:55:15.0
wince+MFC error C2440: “=”: 无法从“const wchar_t *”转换为“LPWSTR”
wince + MFC程序,用了一个wince读取ini的文件
该文件别人用了好几年了,在我这里编译都通不过,但是就是找不出问题所在


BOOL IsKey(LPCWSTR pLine , LPCWSTR pKeyName, LPWSTR* pValue, DWORD* dwValLen )
{

       *pValue = wcschr(pLine, '=' );

}


就这么一句代码,编译报错 :“error C2440: “=”: 无法从“const wchar_t *”转换为“LPWSTR””
怎么转化都没转化到可以编译通过。
*pValue = (T2W) wcschr(pLine, '=' );      --------这样也不行

整个项目的常规属性如下:
配置类型     : 应用程序(.exe)
MFC的使用:   在静态库中使用MFC
ATL的使用     :  不使用ATL
字符集            :  使用 Unicode 字符集
------解决思路----------------------
以下代码,偶是编译通过了,LZ 你试试:

BOOL IsKey(LPCWSTR pLine,LPCWSTR pKeyName,LPWSTR* pValue,DWORD* dwValLen)
{
*pValue = (TCHAR *)wcschr(pLine,'=');
return TRUE;
}

------解决思路----------------------
如果里面没有涉及到空间分配感觉没必要指针的指针。
像BZ那样强制转换就可以了。LPWSTR 或者TCHAR *都一样。
  相关解决方案