这是我正在处理的代码。。。
while(temp[i]!=0){
while(temp[i]!=3){
FrameBuffer[a]=temp[i];
i++;
a++;
}
FrameBuffer[a]=temp[i];
printf(" Framebuffer: %s ", FrameBuffer);
result=layer1(FrameBuffer,PacketAction);
i++;
a=0;
}
问题是我希望帧缓冲区每次通过内部while循环时都被重置(循环开始时帧缓冲区的大小为0)。我试过使用free(FrameBuffer),但由于多次释放数组,因此出现错误。我也尝试过编写FrameBuffer=NULL,但这不起作用。任何帮助都将不胜感激。谢谢您!
最佳答案
如果您只需要在每个内部循环开始之前初始化帧缓冲区,则可以使用memset
-:
while(temp[i]!=0) {
memset(FrameBuffer, 0, sizeof(FrameBuffer));
while(temp[i]!=3) {