-4

ファイルから読み取ったデータを保持する文字列配列があります。76行で構成されています。

私がやりたいのは、それらを異なる配列に格納することです。1つの配列の21行目から31行目までのように。および 31 番目から 41 番目の 1 つの配列。どうすればいいですか...助けてください

私は70行をそれぞれ10行を含む7つの配列に分割したいと考えています。ベクトルを使わずにそれを行う

しかし、これはうまくいきませんでした

4

3 に答える 3

2

等値演算子を使用しています==。ループ実行全体でこれらの値の 1 つに6 回iだけ等しくなります。、、、、またはの場合のみ。ループの他の値は何もしませi112233445566i

あなたはおそらく<代わりに意味した.

于 2013-01-01T07:55:28.897 に答える
1

このようなもの:

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

arr は s の astd::vectorです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;
        }
    }

}

This is assuming you don't have more than 80 lines.

于 2013-01-01T08:23:53.250 に答える