for (d=alldevs;d;d->next)
{
   printf("%d", d->name);//打印所有的姓名信息
}现在我想把这段程序在编辑框中输出,我之前是这么写的:for (d=alldevs;d;d->next)
{
    SetDlgItemText(IDC_EDIT,d->name);
}
但是用SetDlgItemText函数的话,前面的姓名信息全被最后一条给覆盖了,只显示最后一条。
如果我要实现循环输出所有信息的话,应该用什么函数呢?谢谢大家!

解决方案 »

  1.   

    编辑框应该定义一个关联变量,比如CString m_edit;可以用向导建立
    然后用
    UpdateData(TRUE);
    m_edit += d->name;
    UpdateData(FALSE);
    就能添加内容
      

  2.   

    CString str = "";
    for (d=alldevs;d;d->next) 
    {
        str +=d->name;

    SetDlgItemText(IDC_EDIT,str ); 
      

  3.   

    CString str = ""; 
    for (d=alldevs;d;d->next) 

        str +=d->name; 

    SetDlgItemText(IDC_EDIT,str ); 
      

  4.   

    UpdateData(TRUE); 
    m_edit += d->name; 
    UpdateData(FALSE); 
      

  5.   

    这个方法也不错 
    str +=d->name;
    str += " ";
    看起来更清晰
      

  6.   

    但是d->name是char ×类型的要如何转换成CString类型呢?
      

  7.   

    我试过用
    CString temp="";
    temp.format("%S",d->name);
    SetDlgItemText(IDC_EDIT,temp);
    编译啥的都能通过 但是程序一运行就崩溃。char*要如何转换成CString呢?