晕,标题没有写完整。
我是要把EDITbox中的话填充在一个我自己构造的数据包里面
比如我在EDITBOX中填的"1"这个数字。我希望我的包是
05 00 26 00 31 00
如果是“12”,希望的包就是05 00 26 00 31 32 00于是我写程序如下:
EDIBOX的成员变量是
int size=sizeof(m_String);
Buf[0]=0x5;
Buf[1]=0x00;
Buf[2]=0x26;
Buf[3]=0x00;
memcpy((void*)(OldBuf+4), &m_String,size);
Buf[3+size+1]=0x00;
send(s, (char *)Buf, (5+size), NULL);
出问题了,我填任合字符,发出去的都是其它字符,而并不是我填的。
请问我哪儿错了?
我是要把EDITbox中的话填充在一个我自己构造的数据包里面
比如我在EDITBOX中填的"1"这个数字。我希望我的包是
05 00 26 00 31 00
如果是“12”,希望的包就是05 00 26 00 31 32 00于是我写程序如下:
EDIBOX的成员变量是
int size=sizeof(m_String);
Buf[0]=0x5;
Buf[1]=0x00;
Buf[2]=0x26;
Buf[3]=0x00;
memcpy((void*)(OldBuf+4), &m_String,size);
Buf[3+size+1]=0x00;
send(s, (char *)Buf, (5+size), NULL);
出问题了,我填任合字符,发出去的都是其它字符,而并不是我填的。
请问我哪儿错了?
应该用int size=m_String.GetLength()
int size=m_String.GetLength()
Buf[0]=0x5;
Buf[1]=0x00;
Buf[2]=0x26;
Buf[3]=0x00;
memcpy((void*)(Buf+4), &m_String,size);
Buf[3+size+1]=0x00;
send(s, (char *)Buf, (5+size), NULL);改了之后,我在框框里面填的“2”,结果发的是“h”。为什么啊?
然后m_String.ReleaseBuffer()
首先你需要检查你发送缓冲区的内容是否已经连接正确。