MFC文档序列化CObList的链表遍历与修改问题

梦中煮鱼 2010-12-19 11:30:24
照着《C++面向对象程序设计》上写了一个雇员信息系统
给自定义的employee类继承了CObject,一些类的改造也完成
现在添加数据使用的是


//将类的数据放入链表
CMyDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
pDoc->SetModifiedFlag();
pDoc->UpdateAllViews(NULL);
pDoc->employeelist.AddTail(com);//com是自定义类employee *com;的指针
................

//遍历链表 输出
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
POSITION pos=pDoc->employeelist.GetHeadPosition();

while (pos!=NULL)
{
com=(employee*)pDoc->employeelist.GetNext(pos);
...........

先将控件绑定的变量赋给类 再将类中数据写入CObList链表
现在输入输出 保存读取都没有问题

现在的问题是 我想加入查询/修改功能,在链表中查找到相应元素后,修改它

pDoc->employeelist.GetNext(pos) 我自己理解是将当前链表数据指针赋给pos,之后指针指向下一元素
而pDoc->employeelist.AddTail(com);是将我的自定义类数据添加到队尾

我需要一个函数,当链表遍历到正确的元素,将当前的链表元素数据修改
求教各位~
...全文
209 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WNs_ACE 2011-08-20
  • 打赏
  • 举报
回复
果断学习
梦中煮鱼 2010-12-19
  • 打赏
  • 举报
回复

解决了 多谢
疯狂石头_ 2010-12-19
  • 打赏
  • 举报
回复
while (pos!=NULL)
{
POSITION oldpos = pos;
com=(employee*)pDoc->employeelist.GetNext(pos);
//判断com是否为空
if(com != NULL)
{//修改数据
pDoc->employeelist.SetAt( oldpos ,新数据);
}
}

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧