首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何转换CString LPStr

如何转换CString LPStr
EN

Stack Overflow用户
提问于 2010-10-14 12:13:36
回答 2查看 2.9K关注 0票数 1

我希望使用以下方法从注册表读取一个值:

代码语言:javascript
复制
char* cDriveStatus=ReadFromRegistry(HKEY_CURRENT_USER,_T(NDSPATH),m_szDriveName);

我尝试使用GetBuffer、m_szDriveName.GetBuffer(0)进行转换,但这再次显示了错误:

错误C2664:无法将参数3从“wchar_t*”转换为“LPSTR”

编辑:方法和变量声明如下:

代码语言:javascript
复制
char*   ReadFromRegistry(HKEY,LPCTSTR,LPSTR);
CString     m_szDriveName;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-15 05:40:03

这就是对我有用的东西:

代码语言:javascript
复制
char* cDriveStatus=ReadFromRegistry(HKEY_CURRENT_USER,_T(NDSPATH),(LPSTR)m_szDriveName.GetBuffer(m_szDriveName.GetLength()));
票数 0
EN

Stack Overflow用户

发布于 2010-10-14 13:22:58

您的构建设置类似于' Unicode‘(基于对wchar_t的引用)--如果您不打算使用Unicode,您可以在项目的配置属性的通用页面“字符集”字段中将其更改为“使用多字节字符集”。

要查看项目的属性,右键单击“解决方案资源管理器”中的项目并选择“属性”。

您可能会发现ATL类CRegkey在根据注册表类型正确提取值方面很有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3932936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档