Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. Book* getBooks(int *booksCountArg) {
  2.     FILE *inputfile;
  3.     inputfile = fopen("library.csv", "r");
  4.  
  5.     Book *allBooks = malloc(sizeof(Book));
  6.     int bookIterator = 1;
  7.     char buffer[256];
  8.    
  9.     while (fgets(buffer, 256, inputfile)) {
  10.     int index = 0;
  11.     char *token;
  12.     EMPTY_BOOK(book);
  13.     char *copy = strdup(buffer);
  14.        
  15.     while((token = strsep(&copy, ","))) {
  16.         switch (index) {
  17.         case 0:
  18.             book.id = token;
  19.             break;
  20.         case 1:
  21.             book.name = token;
  22.             break;
  23.         case 2:
  24.             book.author = token;
  25.             break;
  26.         case 3:
  27.             book.possession = token;
  28.             break;
  29.         case 4:
  30.             book.checkedOutAt = token;
  31.             break;
  32.         case 5:
  33.             book.dueDate = token;
  34.             break;
  35.         }
  36.  
  37.         index++;
  38.     }
  39.    
  40.     allBooks = realloc(allBooks, sizeof(Book) * bookIterator);
  41.     allBooks[bookIterator - 1] = book;
  42.     bookIterator++;
  43.     }
  44.    
  45.     fclose(inputfile);
  46.  
  47.     *booksCountArg = bookIterator;
  48.     return allBooks;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement