I am creating a zoo record, I have a csv file containing the following points: animal_name,hair,feathers,eggs,milk,airborne,aquatic,predator,toothed,backbone,breathes,venomous,fins,legs,tail,domestic,catsize,class_type aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 antelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1
I would only like to read the animal_name, predator and domestic value for all animals listed in the csv file. I have the following code:
#include "ZooRecord.hpp"
template <class T>
ZooRecord<T>::ZooRecord(std::string input_name_file)
{
//Declare variables
std::string name, none, predator, domestic;
std::fstream in_file;
//Open file
in_file.open(input_name_file);
if(in_file.fail())
{
std::cout << "Could not open file" << std::end;
}
else
{
while(in_file.good())
{
std::getline(in_file, name, ',');
std::cout << name << " ";
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, predator, ',');
std::cout << predator << " ";
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
std::getline(in_file, domestic, ',');
std::cout << domestic << " ";
std::getline(in_file, none, ',');
std::getline(in_file, none, ',');
}
}
}
Expected output: name predator domestic