如何把Cstring转换为char数组[]?

在设置注册表键值时,使用RegSetValue(HKEY hKey,LPCTSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE* lpData,DWORD cbData)时,因为我是从一个 Cedit控件中获取数据,类型是CString型,但是强制转换BYTE*会报错,大哥大姐,帮帮忙 5回复次数:12

第1个回答
在线等


第2个回答
CString str;
(BYTE*)LPCTSTR(str)


第3个回答
大哥,LPCTSTR(str)是什么意思啊?


第4个回答
//Cstring --> char[]
CString str;
str = "kingpang";
char cstr[128];
WideCharToMultiByte(CP_OEMCP, 0, str, -1, cstr, str.GetLength(), NULL, NULL);


第5个回答
CString转换为char数组[],不知道你的CString是不是UNICODE的呢
假设有要转换的CString变量str

char* szStr;
int num=str.GetLgenth();
szStr=new char[num];
memcpy(szStr,(LPCTSTR)str,num);


第6个回答
当然有可能是unicode,
请问还有什么函数啊
就是从一个编辑框里得到文本(CString类型),然后写入注册表里。


第7个回答
用Cstring::GetBuffer(int nCount);这个方法看看。


第8个回答
(char*)LPCTSTR(str)


第9个回答
CString str;
char* ch =str.getbuffer(0);


第10个回答
用GetBuffer


第11个回答
CString str;
将函数调用的str实参换成str.GetBuffer(str.GetLength())


第12个回答
我常用的就是11楼的办法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值