Имам код, при който имам достъп до двоичен файл няколко пъти. Всеки път, когато извикам функцията, тя отваря файла за четене и чете само необходимия брой байтове (да кажем 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
, ако това може да се избегне.