1

各行に異なる量の変数を含むテキスト ファイルを読み取り、sstream を使用して正しい値をベクトルに設定しようとしています。

/*Example file
 "f 1 2 3"
 "f 4 5 6 7"  */

ifstream infile(file);
string line;
char a;
int i=0;v,x,y,z;

while(getline(infile,line))
{
    istringstream iss(line)

    if(line[0]=='f')
    {       
         if(iss>> a >> v >> x >> y) 
         {    
              poly[i].face[0]=v;
              poly[i].face[1]=x;
              poly[i].face[2]=y;
              poly[i].four=false;
         }
         else if(iss>> a >> v >> x >> y >> z) //this doesn't seem to get called, ever.
         {
              poly[i].face[0]=v;
              poly[i].face[1]=x;
              poly[i].face[2]=y;
              poly[i].face[3]=z;
              poly[i].four=true;
         }
        poly.push_back(Poly());
        i++;
    }

}

コードは 3 つの変数を含む行では機能しますが、4 つの変数を含む行では機能しません。

4

2 に答える 2