我有一个使用 malloc 声明的源缓冲区,并且我使用 fread 将一些大文件中的数据读入缓冲区。现在我想从这个源缓冲区中分离出交替的数据块(比如每个 2 个字节)到两个目标缓冲区中。这个问题可以外推为将每第 n 个块复制到 n 个目标缓冲区。对于两个目标缓冲区的最简单情况,我需要示例代码形式的帮助。这是我的想法,我很确定这不是正确的事情。
int totsamples = 256*2*2;
int *sbuff = malloc(totsamples);
int *tbuff1 = malloc(totsamples/2);
int *tbuff2 = malloc(totsamples/2);
elements = fread(sbuff, 2, 256*2, fs);
for(i = 0; i<256; i++)
{
tbuff1[i] = sbuff[i*2];
tbuff2[i] = sbuff[(i*2) + 1];
}