使用fstream从文件中读取多个值

Read multiple values from file with fstream?

本文关键字:读取 fstream 文件 使用      更新时间:2023-10-16

我能用

从制表符分隔的文本文件中读取多个值吗?
double value1, value2, value3;
ifstream in;
fin.open ("myfile.dat", ifstream::in);
fin >> value1 >> value2 >> value3;

所有值都是0

好的,在你的代码中有三个重要的错误:

  • fin未在此作用域中声明(您可能需要将第二行的in更改为fin)
  • ofstream::in不存在,您可能指的是fstream::in
  • 您还应该确保您的输入文件存在。这可以通过fin.good()
  • 来完成

这对我有用:

main.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, %fn", value1, value2, value3);
  }
}

myfile.dat:

3.4893289   1.328923    3.432901
输出:

3.4893289, 1.328923, 3.432901