typedef struct strheadname
   {
CString headname;   } headname;
.......
         headname strhaedname[50];
for(int i =0 ; i< ncol; i++)  //ncol为列的数量,通过CHeadCtrl获取 {
LVCOLUMN lvc ;
char text[100];
lvc.mask = LVCF_TEXT;
lvc.pszText = text;
lvc.cchTextMax = 100;
list.GetColumn(i, &lvc);   //CListCtrl list
strheadname[i].headname=lvc.pszText;  //这句不成功
                  MessageBox(lvc.pszText);
}
           MessageBox能正确显示内容,lvc.pszText的数据正确。
     问题:strheadname[i].headname中为什么是空值?如何把给它赋值?
           我用 LVCOLUMN * lvc =new LVCOLUMN也不能得到。
           

解决方案 »

  1.   

    试一下换个名字
    struct ...
    {
    CString m_headname;
    }
    ......
      

  2.   

    lvc.pszText = text;//此处text是否为空??
      

  3.   

    可能我没把问题说清楚,是这样的:       lvc.pszText  结构体内的内容都正确,
           我现在想把这个结构体的内容都存在一个数组中。
          typedef struct strheadname
           {
       CString headname;  //这里不需要改为 char headname[100]吧?        } headname;
           
      

  4.   

    strheadname[i].headname=lvc.pszText;  //这句不成功
    右边是指针,左边是字符串变量。
    可以这么赋值么?
      

  5.   

    headname是CString的话这么用应该没问题