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

 #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. 洗礼灵魂,修炼python(63)--爬虫篇—re模块/正则表达式(1)

    爬虫篇前面的某一章了,我们要爬取网站页面源代码的数据,要从中获取到我们想要的数据,是不是感觉很费力,确实费力对吧?那么有没有什么有利的工具来解决这个问题呢?那就是这一篇博文的主题—— 正则表达式简介 ...

  2. 通过linkserver不能调远程表值函数

    Question: 通过linkserver调远程表值函数报错如下 Solution: 注意:查询语句中的[SDS_NONEDI].[DBO].ddddd(),不能加server名[sdsc2-1]. ...

  3. 获取url查询参数的方法

    /** * 获取url查询参数的方法 * @param name * @returns {null} * @constructor */ function GetQueryString(name) { ...

  4. Vue 学习笔记之快速入门篇

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与 ...

  5. 讲解wpe抓包,封包

    相信大多数朋友都是会使用WPE的,因为这里也有不少好的教程,大家都辛苦了!先说说接触WPE的情况.当时好像是2011年,我本来不知道WPE对游戏竟有如此大的辅助作用的.起先找WPE软件的时候,只是因为 ...

  6. [Java] SpringMVC工作原理之二:HandlerMapping和HandlerAdapter

    一.HandlerMapping 作用是根据当前请求的找到对应的 Handler,并将 Handler(执行程序)与一堆 HandlerInterceptor(拦截器)封装到 HandlerExecu ...

  7. VS2015应用NuGet

    一.什么是Nuget Nuget是 ASP .NET Gallery 的一员.NuGet 是免费.开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库. 当需要分享开发的 ...

  8. C#自动化操作IE浏览器系列之一打开新的浏览器并导航到百度进行搜索

    现在OA系统.生产管理系统都是B/S结构,很多的办公室工作都要用浏览器操作.自己会一点C# winform开发,就做个小工具自动化处理一些繁琐的操作. 我的开发环境是:win7旗舰版+VS2010(或 ...

  9. multiply对应位置相乘 与 dot矩阵乘

    区别 # -*- coding: utf- -*- import numpy as np a = np.array([[,], [,]]) b= np.arange().reshape((,)) c ...

  10. [Python] timeit测试代码运行效率

    python中有两种方法判断一个数是不是偶数或者奇数: In [29]: 3&1 Out[29]: 1 In [30]: 3%2 Out[30]: 1 In [31]: 4&1 Out ...