数组到多个数组C++

数组到多个数组C++,c++,C++,我有一个字符串数组,它保存从文件读取的数据。 它由76行组成 我要做的是将它们存储在不同的数组中。 如1数组中的第21行到第31行。第31至41个阵列。我该怎么做。。。plz帮助 我想把70行分成7个数组,每个数组包含10行。不用向量就可以了 但是这不起作用您正在使用相等运算符==。在整个循环执行过程中,我将只等于其中一个值的6倍。只有当我11岁、22岁、33岁、44岁、55岁或66岁时;对于i的任何其他值,您的循环将不起任何作用 你的意思大概是这样的: getline(ol, arr[i/11

我有一个字符串数组,它保存从文件读取的数据。 它由76行组成

我要做的是将它们存储在不同的数组中。 如1数组中的第21行到第31行。第31至41个阵列。我该怎么做。。。plz帮助

我想把70行分成7个数组,每个数组包含10行。不用向量就可以了


但是这不起作用

您正在使用相等运算符==。在整个循环执行过程中,我将只等于其中一个值的6倍。只有当我11岁、22岁、33岁、44岁、55岁或66岁时;对于i的任何其他值,您的循环将不起任何作用

你的意思大概是这样的:

getline(ol, arr[i/11][i%11]);
其中,arr是std::vectors的std::vector。或字符串数组的数组

还有一种方法是:

while (1) {
  std::string *ptr;
  if (i < 11) ptr = arr1;
  else if (i < 22) ptr = arr2;
  // long list of arrays

  getline(ol, ptr[i%11]);
  // increment i, break on eof...
}

这是假设您没有超过80行。

7*10!=77 .. 您想做什么?您是否考虑过使用std::vector或std::map作为容器?两者都会让你的生活更轻松。跟随@chris留给你的链接,这会让你省去很多痛苦。最后的编辑让这个问题变得毫无意义,因为你没有展示任何有用的东西,你的最后一句话有一个悬而未决的参考。我想知道你为什么删除了那条评论。看来我应该注意到了。不知什么原因,向量出来了。我自己解决了。首先在一个循环中初始化两个变量,例如:forint i=start;j=0;i<结束;i++,j++,以便开始和结束时可以从大数组中传递值。j将是小数组插入。所以这很容易。arr1[j]=largearray[i];
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{
    string arr[8][10];

    int i = 0, j = 0;

    ifstream ol("a.txt");

    while(getline(ol, arr[i][j]))
    {

        ++j;
        if(j == 10)
        {
            ++i;
            j = 0;
        }
    }

}