Как мне прочитать массив, в который я помещаю элементы из двоичного файла? - PullRequest
0 голосов
/ 10 января 2020

Итак, что я сделал, это

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct{
int osobna;
char prezime[50+1];
char ime[50+1];
int dan,mj,god;
char ulica[100+1];
int broj;
char grad[30+1];
}glasac;

int main()
{
    FILE *fin = fopen ("puk.dat","rb");
    fseek(fin,0,SEEK_END);
    int n = ftell(fin) / sizeof(glasac);
    rewind(fin);
    glasac *niz = (glasac*)calloc(sizeof(glasac),n);
    fread(&niz[0],sizeof(glasac),n,fin);
    fclose(fin);
    int i;
    for (i = 0; i < n; i++){
        fprintf(fin,"%d| %s| %s| %d.%d.%d| %s| %d| %s \n",niz[i]->osobna,niz[i]->prezime,niz[i]->ime,niz[i]->dan,niz[i]->mj,niz[i]->god,niz[i]->broj,niz[i]->grad);
    }
     return 0;
}

Я знаю, что код плохо стилизован и требует много доработки, и я прошу прощения за то, что я не назвал переменные в engli sh. Почему эта печать не работает, почему я не могу прочитать то, что я положил в этот массив? Большое спасибо и любовь всем вам!

...