字符读取篇

一:“>>” 与 get()的区别

(1)>>操作符会忽略前面的空白符和换行符,但不会越过后面的换行符和空白符。
(2)get()方法不会略过任何符号。

二,利用peek()判断读取完毕
 该调用形式为cin.peek() 其返回值是一个char型的字符,其返回值是指针指向的当前字符,但它只是观测,指针仍停留在当前位置,并不后移。如果要访问的字符是文件结束符,则函数值是EOF(-1)。

其功能是从输入流中读取一个字符 但该字符并未从输入流中删除  若把输入流比作一个 栈类 那么这里的peek函数就相当于栈的成员函数front 而如果cin.get()则相当于栈的成员函数pop。
  比如
  
使用该方法读取文件

ifstream fin("文件名",ios::in);
while(!fin.eof())
{}

最后一行空行也会进入循环,导致读取错误。
因此可以利用peek()方法来避免这个问题:

ifstream fin("文件名",ios::in);
while(!fin.eof()&&fin.peek()!=EOF)
{}

参考博文:添加链接描述
添加链接描述

c++初学者使用文件流需要了解的一些坑(持续更新)相关推荐

  1. android pak文件_android 文件读写I/O 大集合 (持续更新)

    一.资源文件 res/assets 资源类文件在程序编译后,据说是只能读取不能修改的,所以我就思考,是不是编译打包时,会自动把资源文件以二进制编译到程序包里?但是既然二进制bytes都可以修改,那么资 ...

  2. idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写

    本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...

  3. 在c++使用文件流(初学者必看)

    文本篇 一.需要包含头文件 fstream 二.实现文件读写操作的步骤 1.创建文件流对象.(有别于在c语言中使用的文件指针). //c++: ofstream fout;//输出流,将程序运行的结果 ...

  4. 安卓学习笔记28:文件流操作

    文章目录 一.文件存储类型 (一)内部存储 1.内部文件概念 2.文件读写方法 3.缓存文件目录 (二)外部存储 1.外部文件概念 2.编程对SD卡数据读写 二.案例演示 - 文件操作 (一)运行结果 ...

  5. 文件I/O:文件流→序列化

    文件I/O:文件流→序列化 ★文件流 文件操作是最简单最直接也是最容易想到的一种方式,我们说的文件操作不仅仅是通过FileInputStream/FileOutputStream这么"裸&q ...

  6. 安卓学习 Day23:文件流操作

    文件流操作 一.案例演示--文件操作 1.创建安卓应用 2.添加背景图片 3.字符串资源文件 4.主布局资源文件 5.在raw目录里创建文件 - test.txt 6.在assets目录里创建文件 - ...

  7. 文件流处理流式处理大数据处理

    20210315 https://www.yuque.com/7125messi/wydusr/wweetn 42-(重要重要重要)加速pandas(Modin和pandarallel) 重点 htt ...

  8. php将图片链接转换为base64编码文件流

    /** * 图片链接转换为 base64 文件流 * @param $imgUrl * @return string */ function img_url_to_base64($imgUrl) {$ ...

  9. byte转文件流 下载到本地

    此方法将byte类型文件转为文件流保存到本地 byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁 /*** byte 转文件 下载到本地* @param ...

最新文章

  1. BestCoder 2nd Anniversary
  2. Supervisor 守护你的进程
  3. 最好用的枚举多选方法
  4. 旧金山站线上峰会24h倒数
  5. html dom 知乎,知乎登录页 - 粒子运动效果
  6. 14岁的男孩说想学生信,应该给予哪些指导?
  7. 海量数据挖掘MMDS week5: 计算广告Computational Advertising
  8. 如何快速把kux格式转换成mp4
  9. for循环及判断语句的20个经典习题
  10. xp系统计算机怎么连接到网络打印机,XP系统安装网络打印机教程(xp添加网络打印机步骤)...
  11. 鉴相器 matlab,MATLAB锁相环仿真程序求解
  12. VC++、MFC中最好的开源项目
  13. 重新定义RPA,重塑智能生产力 | 云扩科技RPA论坛成功举办
  14. oracle 截断数据库,Oracle截断表
  15. shoug oracle,SHOUG User Group Young Expert Program
  16. C/C++中int的取值范围
  17. 软件评测师题库--程序语言基础知识
  18. Zephyr驱动程序框架简介
  19. 火狐浏览器不能访问ftp服务器的文件夹,火狐浏览器计划后续版本禁用网页引用FTP子资源...
  20. VSC# ArcGIS 二次开发--出图工具:添加图名、比例尺、指北针、图例,导出图片或文件、打印地图

热门文章

  1. 结构体命名中的尾标ST是什么意思?(struct)
  2. 横波与纵波的本质区别是什么?——偏振
  3. python PyQt5 QPixmap()控件
  4. C++中的 auto类型详解
  5. linux——管理系统设备之LVM的管理
  6. start与run的区别
  7. matlab r2012a win10,vs2010和Matlab R2012a 混合编程
  8. python查询文件软件_Python小工具--多文件查找字符串fs
  9. CentOS7下安装mysql-5.7.24
  10. php 命名空间 create_function,PHP create_function()注入命令执行漏洞