0

我可以从制表符分隔的文本文件中读取多个值吗

double value1, value2, value3;
ifstream in;
fin.open ("myfile.dat", ifstream::in);
fin >> value1 >> value2 >> value3;

我的所有值都为零。

4

2 回答 2

2

好的,在您的代码中存在三个重要错误:

  • fin未在此范围内声明(您可能需要将in第二行的 更改为fin
  • ofstream::in不存在,你可能是说fstream::in
  • 您还应该确保您的输入文件存在。这可以通过fin.good()
于 2013-06-17T16:38:00.957 回答
1

这对我有用:

主.cpp:

#include <fstream>
#include <iostream>
int main() {
  double value1, value2, value3;
  std::ifstream fin;
  fin.open ("myfile.dat", std::ifstream::in);
  if (fin.good()) {
    fin >> value1 >> value2 >> value3;
    printf("%f, %f, %f\n", value1, value2, value3);
  }
}

我的文件.dat:

3.4893289   1.328923    3.432901

输出:

3.4893289, 1.328923, 3.432901

我希望这有帮助。

于 2013-06-17T16:42:38.497 回答