从文件C ++导入一组双打到数组

时间:2012-12-05 08:01:54

标签: c++ arrays vector ifstream

我正在尝试完成的是使用“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”的函数。

1 个答案:

答案 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>());

......你已经完成了。