我正在尝试完成的是使用“ifstream”打开外部.dat文件,然后将每个double读入矢量数组。
我有什么:
//Setup I/O
ifstream fileIn;
ofstream fileOut;
//Define vector for file data
vector<double> fileData;
fileIn.open("/FilePath.../checkIn.dat");
//If opening failed, display this text.
if (fileIn.fail( ))
{
cout << " Input file opening failed.\n";
//stop program
exit(1);
}
我正在阅读的文件:
2000 1 1225.72 1 463.81 3 200 1 632 2 1500 1 300 2 1800
我一直在寻找互联网,找不到有用的东西。 我在Java中寻找类似于“hasNextDouble”的函数。
答案 0 :(得分:3)
听起来我觉得你试图过于密切地模仿Java(即,使事情变得比必要的复杂得多)。
// Open the file
std::ifstream file_in("/FilePath.../checkIn.dat");
// Create the vector, initialized from the numbers in the file:
std::vector<double> fileData((std::istream_iterator<double>(file_in)),
std::istream_iterator<double>());
......你已经完成了。