下面的程序应该在一堆从文件整数读取,并计算出它们的平均值:未能从文件中读取值
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(int argc, char** argv)
{
ifstream fin("mydata.txt");
int i, value, sum = 0;
for (i = 0; fin >> value; i++)
{
sum += value;
}
if (i > 0)
{
ofstream fout("average.txt");
fout << "Average: " << (sum/i) << endl;
}
else
{
cerr << "No list to average!" << endl;
}
system("PAUSE");
}
文件mydata.txt
存在于同一个目录中,并包含1 2 3 4 5
但输出总是:No list to average!
我在做什么错误,它总是跳过计算和输出文件生成部分?
感谢您的帮助,
^h
你是什么意思同一个目录?在你的源文件?或者与构建的可执行文件相同?它在Linux中适用于我。 – Muggen 2010-12-02 16:40:39
调用`fin.is_open()`来查看文件是否已被正确打开。 – detunized 2010-12-02 16:46:38