当前位置: 首页 > news >正文

C++之ifstream成员函数get、tellg、eof实例(一百八十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:理解C++之ifstream成员函数get()、tellg()、eof()作用与用法。

  1. get()函数是用于从文件中获取一个字符的成员函数。它有几种重载形式。常用的形式是get()get(char& ch)
    使用get(),它会返回一个int类型的值,表示从文件中获取的字符。如果文件读取成功,它将返回非零值,如果到达文件结束,则返回EOF

  2. tellg()函数用于获取文件流当前的位置,返回一个streampos类型的值,表示当前的位置指针位置。

  3. eof()函数用于检查文件流是否到达文件的末尾。如果到达文件末尾,它将返回非零值,否则将返回 0。通常,它是作为循环条件与get()函数一起使用。

2.应用实例

#include <iostream>
#include <fstream>//ASCII码为48对应的字符是数字0,ASCII码为10对应的字符是换行符('\n').
int main() {std::ifstream inputFile("11.txt");  // 打开文件:11.txt内容:0123456789if (inputFile.is_open()) {char ch;int position = inputFile.tellg();while(inputFile.get(ch)) {printf("xxx--------->position: %d, ch = %d\n",position,ch);position = inputFile.tellg(); // 获取当前位置,随着inputFile.get(ch)一直读取,tellg的位置一直向下移动。//检查是否已到达文件末尾(遇到\n符号结束.)// if(inputFile.eof()) {// 	std::cout << "Reached end of file." << std::endl;// 	break;// }}inputFile.close();}return 0;
}

打印

xxx--------->position: 1, ch = 48 //ASCII为10对应的字符为0。
xxx--------->position: 2, ch = 49
xxx--------->position: 3, ch = 50
xxx--------->position: 4, ch = 51
xxx--------->position: 5, ch = 52
xxx--------->position: 6, ch = 53
xxx--------->position: 7, ch = 54
xxx--------->position: 8, ch = 55
xxx--------->position: 9, ch = 56
xxx--------->position: 10, ch = 57
xxx--------->position: 11, ch = 10 //ASCII为10对应的字符为'\n'。
http://www.lryc.cn/news/144893.html

相关文章:

  • 安卓webview,网页端生成安卓项目(极速生成)教程
  • 如何在vscode导入下载的插件安装包
  • springboot 多线程实战
  • 求生之路2社区服务器sourcemod安装配置搭建教程centos
  • 通达OAV12版本,表单及流程,定制开发总结
  • 浅析Linux 物理内存外碎片化
  • C#中的get和set
  • mysql8.0以上忘记密码的重置方法 - window系统
  • 手写Vue3响应式数据原理
  • 基于PIC单片机篮球计分计时器
  • 关于Maxwell与Kafka和数据库的监控
  • 【设计模式】Java设计模式详细讲解
  • 【MySQL】表的增删查改(进阶)
  • Vim几种跳转方式
  • element-ui 弹窗里面嵌套弹窗,解决第二个弹窗被遮罩层掩盖无法显示的问题
  • 【业务功能篇76】微服务网关路由predicates断言条件-filters路由转换地址-跨域问题-多级目录树化层级设计-mybatisPlus逻辑删除
  • apache的ab工具测试网页优化效果速度以及服务器承载
  • 【进阶篇】MySQL 存储引擎详解
  • Spring集成【MyBatis】和【PageHelper分页插件】整合---详细介绍
  • PyCharm下安装配置PySide6开发环境(Qt Designer(打开,编辑)、PyUIC和PyRCC)
  • pytest fixture 创建一个 requests.session() 对象
  • 深入分析负载均衡情景
  • WPF基础入门-Class5-WPF命令
  • 云安全攻防(十三)之 使用minikube安装搭建 K8s 集群
  • Python数据分析 | 各种图表对比总结
  • linux系统(centos、ubuntu、银河麒麟服务、uos、deepin)判断程序是否已安装,通用判断方法:适用所有应用和命令的判断
  • Python3多线程/多进程解决方案(持续更新ing...)
  • 在`CentOS`中安装`Docker Engine`
  • [ VMware 虚拟机 ] 启动不了图形界面,报 “The system is running in low-graphics mode” 错误
  • 如何提高视频清晰度?视频调整清晰度操作方法