C ++带文件的输入/输出

时间:2015-05-28 08:38:25

标签: c++ file-io

#include <iostream>
#include <fstream>

using namespace std;


int main()

{
    int a , b , c , d; 
    ifstream myfile;

    myfile.open ("numbers.txt");
    myfile >> a, b, c;
    d = a + b + c;

    ofstream myfile;
    myfile.open ("result.txt");
    myfile << d;
    myfile.close();

    return 0
}

number.txt文件包含3个号码1089。我试图让程序读取它们并在results.txt中总结它们。

我得到的错误是:

conflicting declaration 'std :: ifstream myfile'
no match for 'operator << in myfile << d'
'myfile' has a previous declaration as 'std :: ifstream myfile' 

2 个答案:

答案 0 :(得分:3)

(这只解决了代码中的两个错误之一。)

myfile >> a, b, c;

此行不会读取所有三个变量abc的输入。它只读取a的输入,然后评估b并丢弃该值,然后评估c并丢弃该值。

你想要的是:

myfile >> a >> b >> c;

这将从myfile读取所有三个变量的值。

答案 1 :(得分:2)

您不能声明具有相同名称的两个不同变量。您首先声明myfile属于std::ifstream类型,然后您将myfile声明为std::ofstream类型。以不同方式命名输出流变量。