下面的程序應該在一堆從文件整數讀取,並計算出它們的平均值:未能從文件中讀取值
#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