已知某字符串,要从末尾开始,按N*2个字节取,比如N是3,那么从尾至首每次取6字节,取到的6字节按顺序存放在一个数组中。
比如,字符串123456789012345678901234,N = 3,第一次取901234,按这个顺序放在一个数组中,然后取下一组,345678,再放在数组中

解决方案 »

  1.   

    如果用CString类CString str="123456789012345678901234";
    int nCount=str.GetLength();
    int i=0;
    int N=3;CString Result[];
    while(nCount>=i*N*2)
    {
         Result[i]=str.Mid(nCount-i*N*2,N*2);
         i++;
         if(nCount<i*N*2)
         {
            Result[i]=str.Mid(0,nCount-(i-1)*N*2)
            break;
         }}
      

  2.   

    已知整个字符串是N的倍数,不需要考虑取不完的情况,肯定是N*2的倍数。另外,取字符可能从中间位置取,到串头或串尾时也肯定是N*2的倍数,也不需要考虑取不完整的情况
      

  3.   

    这个很简单啊,直接从头到尾,
    for(int i=0; i<total/(2*n); i++)
      getstr[i] = str.Mid(2*n*i, 2*n);