ファイルからベクトルに値を読み込もうとしています
std::vector<float> setTimesArray (std::string flName){
int i=0, dummy=0;
float temp;
std::vector<float> pObs;
std::string line;
std::ifstream inFile;
inFile.open(flName.c_str());
if(!inFile){
std::cout<<"\n.obs file not valid. Quitting programme...";
exit(1);
}
while(inFile.good()){
i++;
getline(inFile, line);
if(i>=3){ //I don't want first two lines
std::istringstream in(line);
in>>dummy;//discards first value in the line
in>>temp;
pObs.push_back(temp);
in.str(""); //discards remaining part of the line
}
}
return pObs;
inFile.close();
}
問題は、最後の値が繰り返されることです。たとえば、flName には合計 975 行あります。したがって、pOb は size=973 (975-2 の最初の行) である必要があります。しかし、サイズは 974 で、最後の値が繰り返されていることがわかります。私が犯した間違いは何ですか?