C++里面如何LPSTR转换为LPCWSTR?求大神解答啊!

C++里面如何LPSTR转换为LPCWSTR?求大神解答啊!,第1张

可以用A2W,具体可参考下面的说明:

LPSTR(char*)和LPWSTR的转换

可以使用下面的ATL宏来进行,最好是将变量定义成TCHAR、LPTSTR等T类型,可以避免转换。

ATL宏介绍:

A2BSTR OLE2A T2AW2A

A2COLE OLE2BSTRT2BSTRW2BSTR

A2CT OLE2CA T2CA W2CA

A2CWOLE2CT T2COLEW2COLE

A2OLE OLE2CW T2CW W2CT

A2TOLE2TT2OLEW2OLE

A2W OLE2W T2W W2T

A :ANSI 字符串,也就是 MBCS。

W、OLE 宽字符串,也就是 UNICODE。

T 中间类仿衡悔型T。如果定义了 _UNICODE,则T表示W;如果定义了 _MBCS,则T表示A

C const 的缩写

利用这些宏,可以快速的进行各种字符间的转换。使用备正前必须包含头文件,并且申明USER_CONVERSION;使用 ATL 转换宏,由拦没于不用释放临时空间,所以使用起来非常方便。但是考虑到栈空间的尺寸(VC 默认2M),使用时要注意几点:

#include <stdlib.h>//这腔野包含这个头文件 CString str(TEXT("12.3"))float a=(float)wcstod(str,NULL)/亩早/wcstod这个函数迅圆雀是把CString转成double的,再把double强转成float就行了

1、头文件加入胡差这个

#include <atlconv.h>

2、要用到temp的地方这么写:T2A(temp)

3、磨明如果是VC6,要用的那个函数里面裤游皮最开头加上一行

USES_CONVERSION


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12202426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存