Функция Си Лапух=))

Дмитро Синятинский
Помогите пожалуйста - у меня с функциями и так проблемы а тут такое:
есть вот такая часть кода - которая постоянно пофторяется - все что она делает- читает из файли динамически выделяет память под структуру і заполняет масив структур данными из файла. посля я использую масив етих структур для обробки данных. Помогите правильно оформить функцию или укажите где почитать про ето 
f1 = fopen("birthday.txt","r");

while (!feof(f1))
{

if (fgetc(f1) == '\n')
linesB++;
}
fclose (f1);

tabl1 = (struct file*)calloc(linesB, sizeof(struct file));

f1 = fopen("birthday.txt","r");
for(i=0;i<linesB;i++) {
fscanf(f1,"%d",&tabl1->ID);
          fscanf(f1,"%d",&tabl1->day);
           fscanf(f1,"%d",&tabl1->month);
        fscanf(f1,"%d",&tabl1->year);
        fscanf(f1,"%s",tabl1->name);
          fscanf(f1,"%s",tabl1->sureName);
        tabl1++;            
        }  
tabl1-=linesB;  

0 чел.