程序只在文本文件中输入一行

时间:2015-10-11 18:12:42

标签: c++ file text input output

我的程序只输入一次文本文件中的数字。我还注意到给定数字的最后一行用于计算。如果我想在while循环中尝试这样做,那会不好?如果是这样,我怎么能这样做?

号码是:

5
100 1 20
120 1 45
90 1 05
105 1 25
100 1 35

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    double d,a,b,c,g=0;
    ifstream file("Text.txt");
    if(file.is_open())
    {
        file >> d;
        cout << d << endl;
        while(file >> a >> b >> c)
        {
            cout << left << setw(3) << a << " " << b << " " << c << endl;
            g=a/(b*60+c);
            ofstream files("Result.txt");
            files << "Speed: " << g << " m/s" << endl;
        }
    }
    return 0;
}

1 个答案:

答案 0 :(得分:1)

此行循环

存在问题
        ofstream files("Result.txt");

每次从输入中读取时,它都会创建一个 new 文件。所以它只包含最后一个输入的输出。

如果您将该行移至while之前,您将在同一档案中获得所有输出。