次の形式の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?
}
}
そして、私はクラスの連絡先の1つのトークン化メンバー関数を使用しています。これは次のようになります
// 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 があります。
また、ベクトル内のベクトル/ベクトルのベクトルにアクセスする明確な概念がある場合は、メインにコンタクトリストとトークンがあります