CString str = "jinseinn/n12546325/n7895412/njjijedfjak/n";
CListBox List;
List.AddString(str.Left(str.Find('\n')));
str.TrimLeft(str.Find('\n')+1);
List.AddString(str.Left(str.Find('\n')));
str.TrimLeft(str.Find('\n')+1);
List.AddString(str.Left(str.Find('\n')));
str.TrimLeft(str.Find('\n')+1);

解决方案 »

  1.   

    "jinseinn/n12546325/n7895412/njjijedfjak/n";
    是不是应当为"jinseinn\n12546325\n7895412\njjijedfjak\n";

      

  2.   

    用for 不更简单吗?
      如果 这个字符是'/'就把前面读的字符放进listbox中,并清空中间量,再读,直到字符完
      

  3.   

    CString str = "jinseinn\n12546325\n7895412\njjijedfjak\n";
    CListBox List;
    for(;str.Find('\n') != -1;)
    {
       List.AddString(str.Left(str.Find('\n')));
       str.TrimLeft(str.Find('\n')+1);
    }
      

  4.   

    CString str = "jinseinn/n12546325/n7895412/njjijedfjak/n";
    CListBox *pList = ....;
    int nPos = 0;
    while(1)
    {
    nPos = str.Find("/n");
    if(nPos > 0)
    {
      pList->AddString(str.Left(nPos));
    str = str.Mid(nPos + 2);
    }
    else
    {
      pList->AddString(str);
    }
    }
      

  5.   

    少了一点东西:
    CString str = "jinseinn/n12546325/n7895412/njjijedfjak/n";
    CListBox *pList = ....;
    int nPos = 0;
    while(1)
    {
    nPos = str.Find("/n");
    if(nPos > 0)
    {
      pList->AddString(str.Left(nPos));
    str = str.Mid(nPos + 2);
    }
    else
    {
      pList->AddString(str);
    break ; //刚才少了
    }
      

  6.   

    Up,up,写的不错,调试通过,再上面的就不行了
      

  7.   

    (萧晓寒):无法实现
    更改如下,实现之:
    cstring tempstr;
    tempstr="jinseinn/n12546325/n7895412/njjijedfjak/n";
    for(;tempstr.Find('\n')!=-1;)
      {
        m_CList.AddString(tempstr.Left(tempstr.Find('\n')));
        tempstr.Delete(0,tempstr.Find('\n')+1);
      }
    谢谢大家,马上给分。