我正在开发一个地址簿程序,它从以下格式的 csv 文件中读取数据
“姓氏”、“名字”、“昵称”、“email1”、“email2”、“phone1”、“phone2”、“地址”、“网站”、“生日”、“便笺”
我已通过以下方式使用 getline 读取文件:
if(!input.fail())
{
cout<<"File opened"<<endl;
while(!input.eof())
{
getline(input,list) ;
contactlist.push_back(list);
token=con.tokenize(list); // NOT SURE IF I'm doing this right..am I?
}
}
我正在使用我的一个类联系人的 tokenize 成员函数,它看起来像这样
// member function reads in a string and tokenizes it
vector<string>Contact::tokenize(string line)
{
int x = 0, y = 0,i=0;
string token;
vector<string>tokens;
while(x < line.length() && y < line.length())
{
x = line.find_first_not_of(",", y);
if(x >=0 && x < line.length())
{
y = line.find_first_of(",", x);
token = line.substr(x, y-x);
tokens.push_back(token);
i++;
}
}
}
我现在需要将标记化的向量读入另一个类的私有向量成员变量,还需要将它们读入名字、姓氏的单个私有变量……Contact类的注释。如何将它们读入私有向量成员变量一个类类型,我将如何在成员函数中调用它们,这些函数将进行评估,例如使用向量添加联系人。
我总共有 2 个头文件 Contact 和 addressbook 以及它们各自的实现文件和一个 main.h 文件。
另外,如果您碰巧有一个清晰的概念,可以访问向量中的向量/向量的向量,例如我在 main 中有联系人列表和令牌