用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
请问是哪里出了问题?
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
请问是哪里出了问题?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货