typedef struct{
unsigned int PRI;
std::string dictName;
std::string idxName;
std::string ifoName;
std::string dzName;
std::string libName;
}starDictInfo;
/* 初始化结构体 */
starDictInfo dict1 = {PRI:3, dictName:"langdao", idxName:"langdao-ec-gb.idx",ifoName:"langdao-ec-gb.ifo",dzName:"langdao-ec-gb.dict.dz", libName:"libstar.so"};
starDictInfo dict2 = {PRI:4, dictName:"21shiji", idxName:"21shijishuangxiangcidian.idx",ifoName:"21shijishuangxiangcidian.ifo",dzName:"21shijishuangxiangcidian.dict.dz", libName:"libstar.so"};
typedef list<starDictInfo> DICTLIST;//定义链表
DICTLIST list;
list.push_front(dict1);
list.push_front(dict2);
DICTLIST::iterator plist;
for(plist = list.begin(); plist != list.end(); plist ++)
{
/* fwrite(plist,sizeof(starDictInfo),1,fp); */ // 不对
fwrite (&(*plist),sizeof (starDicInfo), 1, fp);
}
字符串在
string类里应该只是一个指针成员而已,直接fwrite写的话,写入的应该只是这个指针的值,而不是实际的字符串