请问mfc中怎样获取“abc   ttttt rryyyyu”中的ttttt,谢谢了!

解决方案 »

  1.   

    CString::Find 
    CString::Mid 
      

  2.   


    CString str("abc ttttt rryyyyu");
    CString strDes = str.Mid(str.Find(' ')+1,str.ReverseFind(' ')-str.Find(' '));
    AfxMessageBox(strDes);
      

  3.   

    CString::Find/CString::ReverseFind/CString::Left/CString::Right
      

  4.   

    CString str("abc ttttt rryyyyu");
    CString getStr; 
    //第三个参数的意思是,比如你要取abc,那就是0,取rryyyyu就是2.根据第4个参数来判断的 
    //第四个参数是一个 字符 . 具体上网查吧,某些情况下这东西很好用   AfxExtractSubString(getStr,str,1,' ');  AfxMessageBox(getStr);
      

  5.   

    char string[] = "A string\tof ,,tokens\nand some  more tokens";
    char seps[]   = " ,\t\n";
    char *token;int main( void )
    {
       printf( "Tokens:\n" );
     
       // Establish string and get the first token:
       token = strtok( string, seps ); // C4996
       // Note: strtok is deprecated; consider using strtok_s instead
       while( token != NULL )
       {
          // While there are tokens in "string"
          printf( " %s\n", token );      // Get next token: 
          token = strtok( NULL, seps ); // C4996
       }
    }
      

  6.   

    [code=C/C++]CString GetOnLineStatuUser(CString Str,int Status)//Status是返回的第几个字符串,你这个例子是第二个,所以该处传入2
    {
    CStringArray a;
    char *token;
    char *seps=" ";
    if(Str.IsEmpty())
    return "";
    token = strtok( Str.GetBuffer(20), seps );
    Str.ReleaseBuffer();
    while( token != NULL )
    {

    a.Add(token);
    token = strtok( NULL, seps );
    }
    return a.GetAt(Status);
    }code]CString a="abc ttttt rryyyyu";
    调用GetOnLineStatuUser(a,2);//得到返回值
      

  7.   

    搞错了一点,数组下标是从0开始的,所以这样搞
    GetOnLineStatuUser(a,1);