我有一个带有ID的缓冲区,看起来像这样
InBuffer={ID1,ID2,ID3,...}
我需要迭代,每次在函数中使用ID,该函数返回指向分配给此ID的数据的指针和数据的大小.然后我需要用结果填充另一个缓冲区
OutBuffer={ID1,SIZE1,DATA1.WORD1,...,DATA1.WORDSIZE1,
ID2,SIZE2,DATA2.WORD1,...,DATA2.WORDSIZE2,
...,
IDN,SIZEN,DATAN.WORD1,...,DATAN.WORDSIZEN
}
Run Code Online (Sandbox Code Playgroud)
我遇到了为此形成整个for循环及其索引的问题,主要是因为每个SIZE变量可能不同.它应该很简单但我似乎无法使它工作.
在此先感谢您的帮助.
// For example
// Iterate through the remaining of the Request Buffer (m=0,1 already set)
for (m = 2; m < InBuffer; m++)`
{
OutBuffer[m] = InBuffer[m];
returnPointersToDataAndSizeFunction(InBuffer[m], &SIZE, &DATA);
OutBuffer[m + 1] = SIZE; // e.g. SIZE = 2, therefore DATA has 2 fields
OutBuffer[m + 2] = DATA.1; // first field
OutBuffer[m + 3] = DATA.2; // second field
// and so on
}
Run Code Online (Sandbox Code Playgroud)