我今天早些时候发了一篇类似的帖子,但我认为我不清楚我需要做些什么。我希望创建一个以缓冲区作为参数的函数,该函数仅用于存储来自使用windows recv functin接收的服务器的传入消息的一部分。它向服务器发送一些随机数的请求,等待回复,然后将它们放入缓冲区。问题是输入数据包中的数字数组可以是任何长度,具体取决于所请求的调用功能的数量。传入消息的结构如下:
struct PacketIn
{
int var1,
int var2,
int* array;
}
并且应该像这样调用函数:
int numbers[100];
func(numbers,100) //takes a buffer and an amount of numbers to request.
该函数不得执行数组的分配,但正如您所看到的那样,它必须进行一些分配,因为传入的数据包不仅仅包含它用于验证消息的数据的随机数。
调用函数不应该在它分配的缓冲区中获取验证数据。如果没有在函数内部分配整个传入数据包,这是否可行?我怀疑这可能是不可能的。
感谢。