获取文件中的元素数量

时间:2015-04-19 20:54:31

标签: c arrays file-io

我是C编程新手,我想从bin编写元素。归档到一个dinamically alocated数组。问题是我不知道该文件有多少元素(1个元素是用户定义的结构),所以我不知道如何分配arry来从文件中放置这些元素。

我不知道我是否解释得很好,我有一个文件" students.txt" (我仍然想用它作为二进制文件),它由N个学生组成。 现在我想读一个dinamicaly分配的数组学生。 问题是我不知道如何找到文件中的学生数量,以便为该数量的学生分配数组中的内存。

那么是否有任何函数可以从文件中返回sertian类型的元素数量?

我知道

int fread(void *array, int size, int count, FILE *dat);

返回元素数量但我还需要指定要写入文件的数组,我还没有分配该数组。 对不起,如果我这太复杂了,我希望你理解我的问题,对不起。这不是我的故乡郎。

struct

的定义
typedef struct
{
   char indeks[8];
   char ime[21];
   char prezime[21];
   double prosjek;
} STUDENT;

1 个答案:

答案 0 :(得分:2)

假设您在读取结构时没有问题(例如,您保存了包含大小为4bytes的int的结构,并尝试在int大小不同的机器上读取等等 - )文件大小(以字节为单位) - 并除以结构的大小。