c++ - 无法从文件中读取值

标签 c++ fstream

下面的程序应该从一个文件中读入一堆整数并计算出它们的平均值:

#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

最佳答案

打开文件后,添加 assert 语句以确保路径正确。

ifstream fin( "mydata.txt" );
assert(fin.good());

如果断言失败,您就会知道您的文件路径可能有问题。

关于c++ - 无法从文件中读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337327/

相关文章:

c++ - 逐行读取文件

python - 在 Visual Studio 2019 中运行 python matplotlibcpp

c++ - boost deadline_timer - Linux 中的最大计时器数

C++ fstream读写文件

c++ - 使用 fstream 从 txt 文件中获取行

c++ - "Updating"文件中的一行被覆盖

c++ - C++ 中的 fstream 数组

c++ - 如何在C++中调用这个成员函数?

c++ - 如何创建每秒帧数不错的简单二维图形?

c++ - "warning: integer overflow in expression"