在程序中例,
   for(POSITION pos1=m_List.GetHeadPosition();pos1!=NULL;)m_list是一个类的链表,就是m_list中的成员是类,我想将pos1转换为CString字符串,用来和另一字符串比较,不知有什么方法转换,我用了一个最差的方法,将pos1的值输出到文件,outfile<<pos1,再从文件中读出来,file.read(),就能转换成CString了,我想问一下有什么好办法?

解决方案 »

  1.   

    用内存拷贝memcpy
    memcpy(&str,&pos1,sizeof(POSITION));
      

  2.   

    如果是其他类,CSocket* socket1   得到socket1的值是不是这样, 
    memcpy(&str,&socket1,sizeof(CSocket));  ????
      

  3.   

    CList<CString, CString> m_List;
    //填充
    CString str;
    for(int i = 0; i <10; i++)
    {
        str.Format("%d", i);
        m_List.AddTail(str);
    }
    //遍历
    POSITION pos1 = NULL;
    CString sIteration;
    while( NULL != (pos1=m_List.GetHeadPosition()) )
    {
        sIteration = m_List.GetNext(pos1);
        if(sIteration == "Your Specify String")
        {// do anything
            ...
        }
    }
      

  4.   

    那些都不是正解,为什么要引入POSITION?