eclipse将字符串吐入双C ++

时间:2015-11-01 05:55:25

标签: c++ eclipse string vector argv

我有一个包含3行任意数字的文本文件,如下所示:

3.50001
6.70001
812.333

我想在我的程序中输入并将这3个数字保存到矢量中。它应该逐行读取,所以我假设矢量大小将是3.但是它出现了错误,即文本文件中的行是字符串而不是double。它无法保存到矢量中。如何将这些字符串变为双精度?谢谢。

PS:由于Eclipse,无法正确解析函数std::stod

int main(int argc, char* argv[]) {
#include<vector>
#include <string>
        string line;
        std::vector<double> myvector(3);
          ifstream myfile (argv[0]);
          if (myfile.is_open())
          {
            while ( getline (myfile,line) )
            {
              std::string::size_type sz;
              cout << line << '\n';
              double line_double = std::stod(line);
              myvector.push_back(line_double);

            }
            myfile.close();

0 个答案:

没有答案