I'm making a program called "Book manager", all in need now is to create functions to save and load Books(structs) from file. I'm wondering how to read them. Here's my struct definition:
typedef
struct book {
    char * title;
    char * authorName;
    char * authorSurname;
    int releaseYear;
    char * genre;
    int flags[10];
} Book;
I've made a function that allow me to read one book from file, but it's awful and i dont get it how to read a set of Books. I want to read it to my array.
 Book allBooks[LIBRARY_SIZE]; 
Sample file that i want to read from looks:
Christine,Stephen,King,1980,Horror
Harry Potter,J.K,Rowling,2000,Fantasy
Any ideas?
Edit: This is what i tried to do to read simple Book(at the beginning profesor said it would be enough) Dont commit suicide while reading this.
void loadBook(Book * book, FILE * plik){
    char jakasTablica[50];
    char jakasTablica2[50];
    char jakasTablica3[50];
    char jakasTablica4[50];
    int i = 0;
    char znak;
    fscanf(plik,"%c",&znak);
    while(znak != ','){
        jakasTablica[i] = znak;
        i += 1;
        fscanf(plik,"%c",&znak);
    }
    jakasTablica[i] = '\0';
    strcpy(book->title, jakasTablica);
    i = 0;
    fscanf(plik,"%c",&znak);
    while(znak != ','){
        jakasTablica2[i] = znak;
        i += 1;
        fscanf(plik,"%c",&znak);
    }
    jakasTablica2[i] = '\0';
    strcpy(book->authorName, jakasTablica2);
    i = 0;
    fscanf(plik,"%c",&znak);
    while(znak != ','){
        jakasTablica3[i] = znak;
        i += 1;
        fscanf(plik,"%c",&znak);
    }
    jakasTablica3[i] = '\0';
    strcpy(book->authorSurname, jakasTablica3);
    i = 0;
    fscanf(plik,"%c",&znak);
    while(znak != ','){
        jakasTablica4[i] = znak;
        i += 1;
        fscanf(plik,"%c",&znak);
    }
    jakasTablica4[i] = '\0';
    strcpy(book->genre, jakasTablica4);
    i = 0;
    int zmienna = 0;
    fscanf(plik, "%d", &zmienna);
    book->releaseYear = zmienna;
}
 
     
     
     
     
     
     
    