c++ csv存入vector中 用到class

现有csv:

Name2 ,Nationality2 ,Gender2 
John,  Norway,       Male
Mike,  Germany,      Male
May,   Singapore,    Female
Nate,  Swiss,        Male
Rosa,  Female,       Australia
An,    Britain,      Female
Jack,  USA,           Male


将其存入vector中,用到class


class csvdata
{
public:
    char Name[20];
    char Country[20];
    char Gender[20];
};

如何一行一行存入,且每个值对应属性
比如 incsv.Name[2]是May

仅供参考

#include <iostream>
#include <string>
#include <vector>
#include <tuple>
#include <algorithm>
#include <iterator>
#include <iomanip>

using namespace std;

string simplified(const string &str)
{
    string s;
    copy_if(str.begin(), str.end(), back_inserter(s), [](auto c)
            { return !isspace(c); });
    return s;
}

int main()
{
    vector<tuple<string, string, string>> list;
    string buffer;
    getline(cin, buffer); // ignore the first line.
    string name, country, gender;
    while (getline(cin, name, ',') &&
           getline(cin, country, ',') &&
           getline(cin, gender, '\n'))
        list.push_back({simplified(name), simplified(country), simplified(gender)});
    for (auto &&[name, country, gender] : list)
        cout << left << setw(20) << name << setw(20) << country << setw(20) << gender << '\n';
    return 0;
}
$ g++ -Wall -std=c++17 main.cpp
$ cat test.csv
Name2 ,Nationality2 ,Gender2 
John,  Norway,       Male
Mike,  Germany,      Male
May,   Singapore,    Female
Nate,  Swiss,        Male
Rosa,  Female,       Australia
An,    Britain,      Female
Jack,  USA,           Male
$ cat test.csv | ./a.out
John                Norway              Male                
Mike                Germany             Male                
May                 Singapore           Female              
Nate                Swiss               Male                
Rosa                Female              Australia           
An                  Britain             Female              
Jack                USA                 Male