读取由空格分隔的文件到动态数组C ++中

时间:2014-11-19 14:09:24

标签: c++

您好我将从文件中读取并将用空格分隔的数字放在不同的数组中。 要读取的示例文件

15
10 2
20 1
30 1

这就是我做的事情

    while(!file.eof()){ 
        file>>first[count++];

    }

通过这样做我逐行,但我想读到白色空间,并将空白后的数字放入不同的数组。 因此,数组看起来像这样(假设第一个和第二个是动态整数数组)

first={15,10,20,30}
second ={0,2,1,1}

1 个答案:

答案 0 :(得分:1)

您应该使用string streams

#include <sstream>
...

string line;
while(getline(file, line))
{
   istringstream iss(line);
   int firstNumOnLine, secondNumOnLine.
   iss >> firstNumOnLine;
   first.push_back(firstNumOnLine);
   if(iss >> secondNumOnLine)
   {
        //... 
        second.push_back(secondNumOnLine)
   }
   else
   {
       //... there was no second number on the line.
       second.push_back(0);
   }
}

此处,firstsecond被假定为向量