【发布时间】:2018-03-26 03:06:18
【问题描述】:
我正在尝试在结构内分配空间。该结构包含网络数据包的信息。
结构:
struct STRUCT_SVC_ROOM_CREATE
{
PacketHeader Header;
unsigned char TitleLength;
char* RoomTitle = new char[TitleLength];
short SuddenFactor;
short GameModeFactor;
unsigned char Password[4];
int MaxMen;
};
看这两行代码
unsigned char TitleLength;
char* RoomTitle = new char[TitleLength];
1st -> 文本长度(1 字节)
2nd -> 文本本身(TitleLength 字节)
这就是我创建基于另一个结构的结构的方式。
STRUCT_SVC_ROOM_CREATE* RoomCreate = (STRUCT_SVC_ROOM_CREATE*)pHeader;
pHeader 是另一个结构体,它包含所有信息。然后我放入另一个结构以获取正确的数据位置。
但它不起作用。那么问题来了:如何正确分配空间并使用 TitleLength 中指定的大小构建 struct char*?
【问题讨论】: