Есть ли способ определить, сколько элементов должен иметь массив struct или выделить динамическую память для массива struct в C?Код открывает двоичный файл и считывает его в массив struct.Я могу разместить произвольное значение, например 3000, однако, когда я иду на печать, он дает мне значения мусора после окончания файла.Я ищу способ установить в моем массиве размер читаемого файла или ограничить его полезными данными.Я полагаю, что функция типа malloc () просто не смогла найти примеры со структурными массивами, которые не являются статичными.
#include "function.h"
int main() {
FILE *fp; // file pointer
STRUCTNAME structVar[]; //typdef array of structs
fp = fopen("file.bin", "rb"); //binary file to read into array
if(fp == NULL) { // error check file opening
printf("error\n");
} else {
//while !feof to read file into array
while(!feof(fp)) {
fread(structVar, sizeof(structVar), 1, fp);
printStructData(structVar);
}
fclose(fp); // closes file
}
return 0;
}