有这样的函数吗?从一个字符串中取一段字符串,这要取的字符串知道开始地址和到那个字符结束。
比如字符串“0123456.......7890”,我知道要取的字符串开始地址是从第二个字符开始取,到字符7结束。中间长度不定。另分太多也送送分,好久不来CSDN啦,休息了段时间,真舒服,不过又要忙上段时间了,可能春节都要在家写代码。。

解决方案 »

  1.   

    ps:CSDN的问题内容的字体很难看
      

  2.   

    ps: 和楼主要求最接近的是 strtok但只是接近而已.........
      

  3.   

    恩,还是自己写吧
    不会很难
    做一个while比较就行了
      

  4.   

    那就先用Find定位那个字符,然后再Mid不就行了?
      

  5.   

    CString www("1232231313131375355453");
    int nEnd = www.Find("7");
    CString strSub;
    strSub = www.Mid(2,nEnd-2);
      

  6.   

    char *strncpy( char *strDest, const char *strSource, size_t count );
      

  7.   

    char str[256]="1dsaf234567890";
    char str1[256];
    int i=3;
    int j=(strchr(str,'7')-str);
    if(j>0)
    {
    strncpy(str1,&str[i],j-i);
    str1[j-i+1]=0;
    }
      

  8.   

    自己写一个函数CString SubStr(CString strSource, int nStart, CString strEnd)
    {
    int nEnd = strSource.Find(strEnd); return strSource.Mid(nStart, nEnd - nStart);
    }使用CString str = _T("01234567890");CString strSub = SubStr(str, 2, _T("7"));
      

  9.   

    CString str="01233456765";
    CStirng temp=str;
    temp.Replace('7','\0');
      

  10.   

    有这样的函数吗?从一个字符串中取一段字符串,这要取的字符串知道开始地址和到那个字符结束。
    比如字符串“0123456.......7890”,我知道要取的字符串开始地址是从第二个字符开始取,到字符7结束。中间长度不定。没有现成的函数,要自已写,那就从第二个字符开始不断的存入下一个字符,直到是7结束
    另分太多也送送分,好久不来CSDN啦,休息了段时间,真舒服,不过又要忙上段时间了,可能春节都要在家写代码。。祝新年快乐
      

  11.   

    CString str("1232231313131375355453");
    int nEnd = str.Find("7");
    CString find;
    find = find.Mid(2,nEnd-2);
      

  12.   

    CString str("1232237313131375355453");
    int nEnd = 0;
    for(;;)
    {
    nEnd = str.Find("7",nEnd);
    if(nEnd == -1)
    break;
    CString find;
    find = str.Mid(2,nEnd-2);
    }
    则find可依次找到。
      

  13.   

    CString str("1232237313131375355453");
    int nEnd = 0;
    for(;;)
    {
    nEnd = str.Find("7",nEnd + 1);
    if(nEnd == -1)
    break;
    CString find;
    find = str.Mid(1,nEnd);
    }
    则find可依次找到。
    刚才调试了一下。应该没问题。
      

  14.   

    这个函数可以按某一个分割把一个字符串分到一个字符串数组中BOOL SplitString(CString& strSource, CStringArray& aryStr, CString strSplitter, int nStart)
    {
    if(strSource.IsEmpty()) return FALSE; aryStr.RemoveAll(); int nSplitLen = strSplitter.GetLength(); if(nStart > 0)
    strSource = strSource.Right(strSource.GetLength() - nStart); int nPos1 = 0;
    int nPos2 = strSource.Find(strSplitter, 0); while(nPos2 != -1)
    {
    aryStr.Add(strSource.Mid(nPos1, nPos2 - nPos1)); nPos1 = nPos2 + nSplitLen; nPos2 = strSource.Find(strSplitter, nPos1);
    } return TRUE;
    }使用CString str = _T("555aaa11bbb11ccc11");CStringArray aryStr;if(SplitString(str, aryStr, _T("11"), 3))
    {
    // 这时aryStr为aaa、bbb、ccc
    }
      

  15.   

    CString csDemo="0123456.......7890";
    csDemo.Mid(2, csDemo.Find("7")-2);