我想解析文件的内容并加载到地图中。如何解析文件的内容并加载到地图
这是文件内容格式:
Movie-name release-year price cast ishd
"DDLG" 2010 20.00 "shahrukh and Kajal" true
"Aamir" 2008 10.00 "abc, xyz and ijkl" false
重点在地图将是第一个字(电影名)。
类defition:
class movieInfo
{
private:
int releaseYear;
double price;
string cast;
bool isHD;
};
这就是我想实现的功能。
void fill_map_contents (map <string, movieInfo*> &mymap, ifstream& myfile)
{
string line;
string word;
while (getline(myfile, line))
{
out << "inside while loop " << line << endl;
stringstream tokenizer;
tokenizer << line;
movieInfo *temp = new movieInfo;
while (tokenizer >> word)
{
cout << " printing word :->"<< word << endl;
//temp->releaseYear = atoi(word);
//temp->price = 12.34;
//temp->cast = "sahahrukh salman";
//temp->isHD = false;
mymap[word] = temp;
}
delete temp;
}
}
我没有得到任何想法,在while(tokenizer >>单词)后,如何填充对象变量并将其分配给映射。
任何帮助将不胜感激。
Devesh
你'删除temp'会留下悬挂指针与当前的代码。此外,您在每次循环迭代中覆盖相同的'movieInfo'对象。 –