STL MAP 插入数据时报 Segmentation fault,请大虾帮忙看看哈,多谢了!
void CNewBusi::ReadQuetions()
{
char curYM[20] = {0};
getnow(curYM, sizeof(curYM), "%Y-%m"); //获取当前时间,年月
quetion_stru quetion; //临时
int quetionNumber = 0; //题目数目
//获取当月的题目
rec.close();
rec.sqlstr = "SELECT * FROM qzzswd_quetions WHERE use_month = ? AND checked_flag = 1";
rec.append_param(curYM);
if (!rec.open())
{
rec.close();
log_err("调用rec.open()出错");
exit(1);
}
quetions.clear();
while (!rec.eof)
{
//将每个题目放入quetions中
bzero(&quetion, sizeof(quetion));
quetion.cur_sequence = atoi(rec.get("cur_sequence"));
strcpy(quetion.quetion, rec.get("quetion"));
strcpy(quetion.right_answer, rec.get("right_answer"));
quetions.insert(pair<int const, quetion_stru>(quetion.cur_sequence, quetion)); //如果有这句话则报错,否则正常
quetionNumber++;
rec.move_next();
}
rec.close();
if (QUETION_NUMBER != quetionNumber)
{
log_not("提取的题目数量错误: [%d]", quetionNumber);
}
}
备注:
struct quetion_stru
{
int cur_sequence; //题号
char quetion[151]; //题目
char right_answer[6]; //正确答案
};
map<int, quetion_stru> quetions;