我有一个代码,我在其中多次访问二进制文件。每次我调用该函数时,它都会打开文件进行读取,并且只读取所需的字节数(n
每次都说字节数)。
二进制文件包含时间序列数据,我希望它能够通过循环运行函数调用,每次我调用函数打开同一个文件时,它都需要读出下一个块数据,即,我不希望每次都重置文件指针。有没有办法做到这一点?
该函数如下所示:
int readBinary(float *binImage, int gelements) {
imageFile = fopen("tmpImageFile", "r");
if (imageFile == NULL) {
fprintf(stderr, "Error opening file\n");
return (1);
}
fread(binImage, sizeof(float), gelements, imageFile);
return 0;
}
在我的主代码中,我想通过一个循环运行它,每次都给它一个binImage
大小数组。如果可以避免的话,gelements
我宁愿不给它一个大小数组。gelements * nLoop