请修改这个函数体
LPBYTE CRegsterDlg::CString_To_LPBYTE(CString str)
{
LPBYTE lpb=new BYTE[str.GetLength()+1];
//for(int i=0; i>lpb[str.GetLength()]=0;
return lpb;
}
另外:如何给您的分
16 个解决方案
for(int i=0;i<=str.GetLength();i++)
lpb[i]=str[i];
我随便写的,你试试吧。
LPBYTE CRegsterDlg::CString_To_LPBYTE(CString str)
{
LPBYTE lpb=new BYTE[str.GetLength()];
char *pStr=str.GetBuffer(str.GetLength());
for(int i=0;i<str.GetLength();i++){
memcpy(lpb,pStr,1);
lpb++;
pStr++;
}
str.ReleaseBuffer();
return lpb;
}
对不起,我写错了。应该是:
LPBYTE CRegsterDlg::CString_To_LPBYTE(CString str)
{
LPBYTE lpb=new BYTE[str.GetLength()];
char *pStr=str.GetBuffer(str.GetLength());
for(int i=0;i<str.GetLength();i++)
memcpy(lpb+i,pStr+i,1);
str.ReleaseBuffer();
return lpb;
}
谢谢您ydogg专家,您的改版是正确的,不过我不知道如何给您的专家分
呵呵。给分啊。我赶快说。
你去看你的贴子,后面有一个“管理“,你进去之后,有一个加分按钮,输入你的密码,就可以给分了。
:)。
LPBYTE lpb = new BYTE[(str.GetLength() + 1) * sizeof(TCHAR)]; //有可能是ansi或unicode
memcpy(lpb, (void*)(LPCTSTR)str, (str.GetLength() + 1) * sizeof(TCHAR));
return lpb;
tanghen(小龙女),同志,我好想
要分啊。。。。。
baichichi(白痴) :
我好喜欢你的名字:P
LPBYTE CRegsterDlg::CString_To_LPBYTE(CString str)
{
int iLen=str.GetLength();
LPBYTE m_Ret=(LPBYTE)malloc(iLen);
LPTSTR pStr;
pStr=str.GetBuffer(iLen);
memcpy(m_Ret,pStr,iLen);
memset(m_Ret+iLen+1,0,1);
return m_Ret;
}
肯定正确!!