用socket的send发送一个自定义类的有关问题

用socket的send发送一个自定义类的问题
用socket的send发送一个自定义类,类大概如下:
class   msg
{
                public:
                                int   length;
                                char   data[100];
                              ……
}
length是发送字符数组的长度
输入的字符用strcopy给data能发送和接收,缺点是data是固定大小的。

我想让data的大小随发送字符的多少而变化,尝试根据length大小用new进行分配,然后strcopy,不能成功,我想原因是data此时只是指向堆的指针,请问要实现我的想法,有没有其他的方法?


用new进行分配, msg 的各成员要分别发送
class MSG
{
public:
int length;
char p_data;
……
};

MSG msg;
int len;
msg.p_data = new data [n];

len = htonl(msg.length);
send(sockfd, &len, sizeof(len));
send(sockfd, data, n);
……..


楼上的方法已经很简明了

用socket的send发送一个自定义类的有关问题

相关文章:

你感兴趣的文章:

标签云: