VB和VC间传字符串的问题
用VC写的一个ActiveX控件 ctrl1,有一个函数FuncOne(LPCSTR msg) ,VB中调用传参数如下:
dim strMsg as String
strMsg=chrw(130) & chrw(131) & chrw(132) & chrw(133)
call ctrl1.FuncOne(strMsg)
控件中如下处理:
void FuncOne(LPCSTR msg)
{
CString strMsg= " ";
char cMsg[64];
memset(cMsg,0,sizeof(cMsg));
memcpy(cMsg,msg,strlen(msg));
strMsg.Format ( "%s,%d,%d,%d,%d ",msg,strlen(msg),cMsg[0],cMsg[1],cMsg[2]);
AfxMessageBox(strMsg);
}
我想得到的结果是(其中4个*号表示传入的那4个没法表达的字符): ****,4,130,131,132
但实际得到的结果却是: ????,4,63,63,63
请问是哪里出了问题?
[解决办法]
C++不了解!,但是memcpy(cMsg,msg,strlen(msg));中strlen类似VB中的len(),而这里是不是应有是一个类似VB中的lenB()函数呢?不懂,胡诌