在一个字符数组中,已知开始位置和结束位置,如何取出来组成一个CString,最好有源码,谢谢。

解决方案 »

  1.   

    int nstart=...,nend=...;//开始和结束位置
    char buf=...//你的字符数组
    char temp=new char[nend-nstart];
    memset(temp,0,nend-nstart);
    for(int i=0;i<nend-nstart;i++)
        temp[i]=buf[i+nstart];
    CString str=temp;
      

  2.   

    郁闷,居然写错了!
    strncpy
    如果不是从头开始的,可以在源字符串指针上加偏移位置。
    strncpy(strDst, strSrc + nStart, nCount);
    大概就这样
      

  3.   

    弄出来了,应该是这样:
    char * tempStr=new char[i-nStart];
    memset(tempStr,0,i-nStart);
    strncpy(tempStr,m_chBuf+nStart,i-nStart);
    strDept.Format("%s",tempStr);
      

  4.   

    To  yy23rock(云云):
     
       真累!
      

  5.   

    char str[100]="aaaaaaaaaaaaaa";
    CString s = CString( str+2, 5 );
      

  6.   

    char * tempStr=new char[i-nStart];
    memset(tempStr,0,i-nStart);
    strncpy(tempStr,m_chBuf+nStart,i-nStart);
    strDept.Format("%s",tempStr);
      

  7.   

    char * tempStr=new char[i-nStart];
    memset(tempStr,0,i-nStart);
    strncpy(tempStr,m_chBuf+nStart,i-nStart);
    strDept.Format("%s",tempStr);
      

  8.   

    char str[100]="aaaaaaaaaaaaaa";
    CString s = CString( str+2, 5 );这个牛,只是不知道能不能实现