类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
代码如下:
bool CCONNECTDlg::ClientSendMsg(long CommandID)
{
long vTemp;
switch(CommandID)
{
case VGAV_CONNECT:
struct VGAV_Connect connect;
memset(&connect,\0,sizeof(connect));
vTemp = htonl(38);
memcpy(connect.Total_Length,(char *)&vTemp,4);
vTemp = htonl(VGAV_CONNECT);
memcpy(connect.Command_ID,(char *)&vTemp,4);
strcpy(connect.Source_Addr,"test");
strcpy(connect.AuthenticatorSource,"test");
m_Socker->Send(&connect,38,0);
break;
case VGAV_CONNECT_RESP:
m_AlarInfo.SetWindowText("发送短信息收到服务器端应答!") ;
break;
}
在编译的过程中总提示:error C2664: memcpy : cannot convert parameter 1 from long to void *
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
网友回答:
memcpy(void *, const void *, size_t);
void *, 目标存储空间的头指针;
const void *, 源块指针;
size_t,目标存储空间的长度。
memcpy(&connect.Command_ID,(char *)&vTemp,4);
memcpy(&connect.Command_ID,(char *)&vTemp,4);
memcpy(void *dest, const void *src, size_t count);
dest 目标的缓冲区
src 原缓冲区
count 要拷贝的字节数
从原缓冲区拷贝指定字节数到目标缓冲区