如一个大字符串数组.大小为m
分割成若干个小数组,每个数组大小为n
如何实现.vc中不支持动态数组的创建,
一时不知怎么处理是好.谢谢了

解决方案 »

  1.   

    一楼的说的对,另外还可以用标准C++中的 vector,
    楼主你的要求说的还不是特别的明确,希望你能再说明确点。
      

  2.   

    用一个FOR循环也可以实现啊!
      

  3.   

    用指针
    char str[M];
    char * arr[M / N + 1];
    for(int i = 0; i < M / N + 1; i++)
      arr[i] = str + i * N;
    用的时候小心边界:)
      

  4.   

    vc中不支持动态数组的创建
    这句话好象不对。VC支持动态数组的创建;
      

  5.   

    用new不就是动态创建吗?
    Type* pData = new Type;
    Type* pDataArray = new Type[num];
    例如:
    float* pf = new float;
    int* intArray = new int[100];
    删除时
    delete pf;
    delete [100]intArray;
      

  6.   

    动态数组创建:
    char *pstr;
    pstr = new char[100] ;  //分配100个空间释放
    delete []pstr;  //删除数组对象,不能用delete pstr,delete pstr只能释放一个对象
      

  7.   

    我举个例子
    例如写一个字符串数组strArray[500]
    我希望分割成若干个含大小为30的小数组例如写一个函数,将原始的大数组和小数组的大小传值结果返回的是若干个小数组

    strDesc[1][30]={...}
    strDesc[2][30]={...}
    ...
    strDesc[m][30]={...}
    其中m = 大数组的大小/小数组的大小 + 1我再去写写看,用别的方法.
      

  8.   

    我设大数组为=500,
    小数组为30,先把这几个值定好. CString str[500];
    for(int y = 1;y<500;y++) str[y] = y;
    CString * arr[500 / 30 + 1];
    for(int x = 0; x < 500 / 30 + 1; x++){
    for (int z = 0;z<30;z++)\
    {
    strTemp[z] = *(str + x*z) ;
    }
    arr[x] = strTemp;
    }
    大家看看这样行吗.