-4

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

我想要做的是将它们存储在不同的数组中。就像从 1 个数组中的第 21 行到第 31 行一样。和第 31 到 41 个阵列。我该怎么做...请帮助

我想将 70 行拆分为 7 个数组,每个数组包含 10 行。并且不使用向量来做

但这没有用

4

3 回答 3

2

您正在使用相等运算符==。在整个循环执行过程中i,将仅等于其中一个值6 次。仅当i, 11, 22, 33,或44; 对于您的循环的任何其他值,将无济于事5566i

你可能的意思是<相反。

于 2013-01-01T07:55:28.897 回答
1

像这样的东西:

getline(ol, arr[i/11][i%11]);

其中 arr 是std::vectors的一个std::vector<std::string>。或字符串数​​组的数组。

还有一种方法是:

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...
}
于 2013-01-01T08:03:34.907 回答
0
#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;
        }
    }

}

这是假设您的行数不超过 80 行。

于 2013-01-01T08:23:53.250 回答