Проблема в том, что оператор >> со строкой читает только одно слово (не строку).
Вам необходимо использовать функцию std :: getline ().
std::getline( myReadFile, title);
std::getline( myReadFile, category);
std::getline( myReadFile, runningTime);
std::getline( myReadFile, yearOfRelease);
std::getline( myReadFile, price);
Для удобства следует написать оператор >> для DVD
std::istream& operator>>(std::istream& str, DVD& data)
{
// Read data into data here
return str;
}
Теперь ваш цикл становится намного проще написать:
std::copy(std::istream_iterator<DVD>(myReadFile),
std::istream_iterator<DVD>(),
std::back_inserter(v)
);