从分配的内存输出结构数据

时间:2017-06-21 15:23:32

标签: c linux struct malloc realloc

我有一个问题,我创建了一个结构:

packetNum++;
ipHeadr = realloc(ipHeadr, sizeof(*ipHeadr)*packetNum);
ipHeadr->ipVer = iph->version;
ipHeadr->headerDWORDS = (unsigned int)iph->ihl;
ipHeadr->headerBytes = (unsigned int)iph->ihl*4;
ipHeadr->typeOfService = (unsigned int)iph->tos;
ipHeadr->ipLength = ntohs(iph->tot_len);
ipHeadr->ident =  ntohs(iph->id);
ipHeadr->ttl = (unsigned int)iph->ttl;
ipHeadr->protocolNum = (unsigned int)iph->protocol;
ipHeadr->checkSum = ntohs(iph->check);
ipHeadr->protocol =iph -> protocol;

我为它分配了内存:

{{1}}

然后,每次我获取数据时,我都会重新分配内存并将数据输入到strcut:

{{1}}

所以我试图通过chunk(其中块大小为strcut)或任何其他方式获取此数据块(也是大多数教程用于malloc的方式,如从指针创建数组),但每次我&#39 ;我试图打印它,我多次得到相同的块,没有变化。我不能把我的输出代码,因为我尝试了很多不同的方式,不知道要显示什么。此外,静止的是 - 如何以这种方式打印数据,大块数据。

0 个答案:

没有答案