2

(各行の整数の数は同じですが、不明です)

したがって、次のようなファイルがある場合があります。

タイトル1 34 98
タイトル2 15 9
タイトル3 45 15

また

タイトル1 34 98 76 97
タイトル2 15 9 43 8
タイトル3 45 15 34 7

また ...

struct elem
{
  char d[50];
  int v[50];
};

私はこれを試しましたが、コンパイルはできますが動作しません

char ch;
elem col[10];
int num,z=0;

//z-nr of lines, num -nr of int values in the line

ifstream myfile("t2.txt");
if (myfile.is_open())
{
    while (myfile.good())
{
      myfile>>col[z].d;
  num=0;
  myfile.get(ch);
  while(ch!='\n')
  {
        myfile>>col[z].v[num];
    myfile.get(ch);
    num++;
      }
  z++;
}
  myfile.close();
}

プログラムが「ハング」する (応答しない状態)

4

1 に答える 1

5

あなたはこれを試すことができます:

string line;
ifstream myfile("t2.txt");

if (myfile.is_open()) {
    while (getline(myfile, line)) {
        istringstream iss(line);

        iss >> col[z].d;

        int x;
        num = 0;
        while (iss >> x) {
            col[z].v[num] = x;
            num++; 
        }

        z++;
    }
}
于 2012-10-27T20:32:24.347 に答える