再次强调这个观念:写文件,读文件和读,写控制台本质上没有区别,意识到这一点是十分重要的。下面给出读文件的代码:

 #include "iostream"
# include "fstream"
# include "cstdlib"
const int SIZE{ };
int main()
{
using namespace std;
char filename[SIZE];
ifstream Infile;//定义一个输入流对象,等效于cin
cout << "Enter name of data file:";
cin.getline(filename, SIZE);//从输入流中截取最大SIZE个字符的字符串作为文件名,遇到换行符\n也会终止
Infile.open(filename);//打开文件
if (!Infile.is_open())//文件打开成功返回1
{
cout << "could not fine the file:" << filename << endl;
exit(EXIT_FAILURE);//打开失败退出系统
} double value;
double sum{ 0.0 };
int count{ }; Infile >> value;//注意Infile 相当于cin
while (Infile.good())
{
++count;
sum += value;
Infile >> value;
}
if (Infile.eof())//eof判断是否读到文件末尾,读到末尾返回值为1.
cout << "End of file readed.\n";
else if (Infile.fail())
cout << "missing match" << endl;
else
cout << "input for unknowm" << endl;
if (count == )
cout << "No data" << endl;
else
{
cout << "sum is:" << sum << endl;
cout << "average is:" << sum / count << endl;
}
Infile.close();
system("pause");
return ;
}

注意点:

对于读文件中出现的.getline()方法,和.oef()方法,暂时不再赘述

需要强调的是,理解23_29行的代码,尤其是23行的代码。理解:Infile >> value;首先应该认识到:Infile关联了一个文件,其实我们应该认识到:文件流和控制台输入流并没有一个本质的区别.因此,当我们看到Infile的时候,我们可以完全认为这是个cin>>value,而我们是知道cin>>value表达的是从控制条输入流中取一个类型的数据赋值给value。因此,这样一来,我们就可以完全理解Infile>>value表达的含义,从文件流中获取一个value对应类型的数据送给value。

c++入门之文件读取的更多相关文章

  1. NIO入门之轻松读取大文件

    NIO入门之轻松读取大文件 今天同事碰到了一个问题,从游戏服务器下载下来的输出log有一个多G大.用记事本打不开,EditPlus也打不开,都提示文件太大.用word也打不开,提示文件大于512M.打 ...

  2. 极简 Node.js 入门 - 3.2 文件读取

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  3. Matlab 从入门到精通 Chapter11 文件读取I/O

    11.1 工作空间数据读取 将工作空间的变量保存为文件,可以使用save命令.  save('filename') 将文件保存在当前目录下,文件名为filename.mat save('filenam ...

  4. NodeJS文件读取:感恩常在--抓把糖果,愉悦客人

    通过上一篇文章“NodeJS服务器:一行代码 = 一个的HTTP服务器”,我们已经开启了NodeJS之旅,开发了一个监听在8000端口的HTTP服务器,虽然功能很简单,但是,已经让我们感受到用Node ...

  5. [转]opengl入门例题(读取bmp图片,并显示)

    #include<gl/glut.h> #define FileName "bliss.bmp" static GLint imagewidth; static GLi ...

  6. Python入门篇-文件操作

    Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...

  7. Python 入门之 文件

    Python 入门之 文件 1.文件操作 找到文件位置 双击打开 进行一些操作 r-read(读) w-write(写) a-追加 rd--读字节 wd--清空写,写字节 ad --追加写(字节) r ...

  8. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  9. php xml 文件读取 XMLReader

    php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...

随机推荐

  1. supervusor常遇到的问题

    1.unix:///tmp/supervisor.sock refused connection supervisord -c /etc/supervisord.conf  2.Unlinking s ...

  2. puppet使用 apache passsenger 作为前端 (debian)

    目录 1. 概要 2. nginx + passenger 配置 2.1. package 安装 2.2. 配置文件设置 2.3. 测试配置结果 2.4. 参考网址 概要 之前做过 apache + ...

  3. layui 的 GitHub 及 Gitee (码云) 仓库

    GitHub: https://github.com/sentsin/layui/ Gitee:https://gitee.com/sentsin/layui

  4. Lingo求解线性规划案例2——多阶段投资问题

     凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 某公司现有资金30万元可用于投资,5年内有下列方案可供采纳:   1号方案:在年初投资1元,2年后可收回1. ...

  5. Mac各种数据库安装和启动【笔记】

    MongoBD 一个基于分布式文件存储的数据库. 下载 https://www.mongodb.com/download-center#community 安装 解压包 mongodb 数据默认存在/ ...

  6. SpringBoot实现JWT保护前后端分离RESTful API

    通常情况下, 将api直接暴露出来是非常危险的. 每一个api呼叫, 用户都应该附上额外的信息, 以供我们认证和授权. 而JWT是一种既能满足这样需求, 而又简单安全便捷的方法. 前端login获取J ...

  7. nginx服务器下 PHP 出现 502 解决方案

    https://blog.csdn.net/qq_34625397/article/details/51744859 nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端 ...

  8. 006_ansible1.9.6版本的安装

    一.Linux的安装 cd /usr/local/src && wget https://pypi.python.org/packages/source/a/ansible/ansib ...

  9. jvm调优-从eclipse开始

    一.概述 什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配.回收的情况来调整各区域内存比例或者gc回收的策略:更深一层就是根据dump出来的内存结构和线程栈来分析代码中不合理的地方给予 ...

  10. face recognition[MobiFace]

    本文来自<MobiFace: A Lightweight Deep Learning Face Recognition on Mobile Devices>,时间线为2018年11月.是作 ...