#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个号码10
,8
,9
。我试图让程序读取它们并在results.txt中总结它们。
我得到的错误是:
conflicting declaration 'std :: ifstream myfile'
no match for 'operator << in myfile << d'
'myfile' has a previous declaration as 'std :: ifstream myfile'
答案 0 :(得分:3)
(这只解决了代码中的两个错误之一。)
myfile >> a, b, c;
此行不会读取所有三个变量a
,b
和c
的输入。它只读取a
的输入,然后评估b
并丢弃该值,然后评估c
并丢弃该值。
你想要的是:
myfile >> a >> b >> c;
这将从myfile
读取所有三个变量的值。
答案 1 :(得分:2)
您不能声明具有相同名称的两个不同变量。您首先声明myfile
属于std::ifstream
类型,然后您将myfile
声明为std::ofstream
类型。以不同方式命名输出流变量。