I have an array of dvd from a Video class I created
Video dvd[10];
each video has the property,
class Video {
    string _title;
    string _genre;
    int _available;
    int _holds;
public:
    Video(string title, string genre, int available, int holds);
    Video();
    void print();
    void read(istream & is, Video dvd);
    int holds();
    void restock(int num);
    string getTitle();
    ~Video();
};
I'm trying to fill up this array with data from my text file where each info such as the title and genre is separated by a comma
Legend of the seeker, Fantasy/Adventure, 3, 2
Mindy Project, Comedy, 10, 3
Orange is the new black, Drama/Comedy, 10, 9
I've tried using getline(in, line, ',') but my brain halts when its time to insert each line into the dvd array.
I also created a read method to read each word separated by a whitespace but I figured thats not what I really want.
I also tried to read a line with getline, store the line in a string and split it from there but I get confused along the line.
**I can get the strings I need from each line, my confusion is in how to insert it into my class array in the while loop especially when I can only read one word at a time.
I need help on what approach I should follow to tackle this problem.
**My code
#include <iostream>
#include <fstream>
#include <cassert>
#include <vector>
#define MAX 10
using namespace std;
class Video {
    string _title;
    string _genre;
    int _available;
    int _holds;
public:
    Video(string title, string genre, int available, int holds);
    Video();
    void print();
    void read(istream & is, Video dvd);
    int holds();
    void restock(int num);
    string getTitle();
    ~Video();
};
Video::Video(string title, string genre, int available, int holds){
    _title = title;
    _genre = genre;
    _available = available;
    _holds = holds;
}
void Video::read (istream & is, Video dvd)   
{  
    is >> _title >> _genre >> _available>>_holds;
    dvd = Video(_title,_genre,_available,_holds);
}
int Video::holds(){
    return _holds;
}
void Video::restock(int num){
    _available += 5;
}
string Video::getTitle(){
    return _title;
}
Video::Video(){
}
void Video::print(){
    cout<<"Video title: " <<_title<<"\n"<<
    "Genre: "<<_genre<<"\n"<<
    "Available: " <<_available<<"\n"<<
    "Holds: " <<_holds<<endl;
}
Video::~Video(){
    cout<<"DESTRUCTOR ACTIVATED"<<endl;
}
int main(int params, char **argv){
    string line;
    int index = 0;
    vector<string> tokens;
    //Video dvd = Video("23 Jump Street", "comedy", 10, 3);
    //dvd.print();
    Video dvd[MAX];
    dvd[0].holds();
    ifstream in("input.txt");
    /*while (getline(in, line, ',')) {
        tokens.push_back(line);
    }
    for (int i = 0; i < 40; ++i)
    {
        cout<<tokens[i]<<endl;
    }*/
    if(!in.fail()){
        while (getline(in, line)) {
            dvd[index].read(in, dvd[index]);
            /*cout<<line<<endl;
            token = line;
            while (getline(line, token, ',')){
            }
            cout<<"LINE CUT@@@@@"<<endl;
            cout<<line<<endl;
            cout<<"TOKEN CUT@@@@@"<<endl;*/
            //dvd[index] = 
            index++;
        }
    }else{
        cout<<"Invalid file"<<endl;
    }
    for (int i = 0; i < MAX; ++i)
    {
        dvd[i].print();
    }
}
 
    