我想解析文件的內容並加載到地圖中。如何解析文件的內容並加載到地圖
這是文件內容格式:
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'對象。 –