文件的随机读写函数:ftell rewind

目录

函数介绍:

ftell:

函数原型:

举例:

文件内容展示:

代码操作:

结果:

 rewind:

函数原型:

举例:

文件内容展示:

代码操作: 

结果:


函数介绍:

ftell:

返回文件指针相对于起始位置的偏移量(偏移值)。

函数原型:

 long int ftell ( FILE * stream );

举例:

文件内容展示:

代码操作:
int main()
{int arr[10] = {0};FILE* pf = fopen("data.txt","r");if (pf == NULL){perror("fopen");return 1;}//读文件,并设置变量接收读取的数据int ch = fgetc(pf);
//打印读取的数据printf("%c\n",ch);//a//进行读取偏移fseek(pf,5,SEEK_CUR);int ch = fgetc(pf);printf("%c\n",ch);//gint pos = ftell(pf);printf("%d\n",pos);fclose(pf);pf = NULL;return 0;}

int pos = ftell(pf); printf("%d\n",pos); 将指针举例起始位置的偏移值交给了pos 。

结果:

 rewind:

让文件指针的位置回到文件的起始位置。

函数原型:

void rewind ( FILE * stream );

举例:

文件内容展示:

代码操作: 
int main()
{int arr[10] = {0};FILE* pf = fopen("data.txt","r");if (pf == NULL){perror("fopen");return 1;}//读文件,并设置变量接收读取的数据int ch = fgetc(pf);
//打印读取的数据printf("%c\n",ch);//a//进行读取偏移fseek(pf,5,SEEK_CUR);int ch = fgetc(pf);printf("%c\n",ch);//g//把文件内部的指针返回到起始位置rewind(pf);ch = fgetc(pf);printf("%c\n",ch);fclose(pf);pf = NULL;return 0;}
结果:

 

因为文件内部的指针返回了起始位置,当再度使用fgetc时,读出的字符就是起始位置所占据的字符,也就是字符a 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/143347.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C++随笔录] stack queue使用

stack && queue使用 stackqueue题目训练 stack 栈的特点是 先进后出(first in last out) 我们可以看出, stack的接口相比 vector/string/list 的接口少的太多了 构造函数 && 容器适配器 容器适配器的含义: 首先, 适配器 — — 用户传数据进来, 我们用合适的…

Vulnhub-driftingbules:5 靶机复现完整过程

kali的IP地址:192.168.200.14 靶机IP地址:192.168.200.60 一、信息收集 1.对利用nmap目标靶机进行扫描 由于arp-scan属于轻量级扫描,在此直接使用nmap进行对目标靶机扫描开放端口 nmap -A -p 1-65535 192.168.200.60使用nmap扫描 开放的端…

Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢

一、前言 Unity 引擎宣布自 2024 年 1 月 1 日起,将根据游戏安装量对开发者进行收费。官网通知如下 收费模式如图 这张图的大致意思就是, 从2024年1月1日开始,Unity将对所有达标的用户(开发者)根据游戏安装量征收“安…

STM32 NVIC中断优先级管理通过结构图快速理解

STM32 NVIC中断优先级管理通过结构图快速理解 📑抢占优先级和响应优先级基本常识 🌿抢占优先级的级别高于响应优先级。🌿抢占优先级数值编号越小,所代表的优先级就越高;同理,响应优先级也是如此。&#x1…

存档&改造【02】下载文件模板 打印二维码样式设置

1.下载文件模板 文件模板获取得先设置好全局变量和获取文件URL 声明变量 function fileDownload(url, name) {return new Promise((resolve, reject) > {var xhr new XMLHttpRequest();xhr.open("GET", url, true); // 也可以使用POST方式,根据接口…

Redis的安装与基本使用

文章目录 Linux 环境下安装Redis下载Redis 安装包解压安装包安装Redis进入redis安装包下编译并且安装到指定目录下 启动redis配置远程访问找到Redis.config文件 Windows 环境下安装Redis说明官方提供方式安装或启用WSL2在WSL(Ubuntu)上安装Redis启动Redi…

【三次握手、四次挥手】TCP建立连接和断开连接的过程、为什么需要三次握手,为什么需要四次挥手、TCP的可靠传输如何保证、为什么需要等待2MSL等重点知识汇总

目录 三次握手 为什么握手需要三次 四次挥手 为什么挥手需要四次 TCP的可靠传输如何保证 TIME_WAIT等待的时间是2MSL 三次握手 三次握手其实就是指建立一个TCP连接。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的…

IOTE 2023国际物联网展直击:芯与物发布全新定位芯片,助力多领域智能化发展

IOTE 2023国际物联网展,作为全球物联网领域的盛会,于9月20日在中国深圳拉开帷幕。北斗星通集团应邀参展,旗下专业从事物联网、消费类GNSS芯片研发设计的芯与物公司也随其亮相本届盛会。 展会上,芯与物展示了一系列创新的GNSS定位…

Spring 学习(四)注解实现自动装配及注解开发

1. 注解实现自动装配 JDK 1.5 开始支持注解&#xff0c;Spring 2.5 开始支持注解。 使用须知 导入约束 配置注解的支持&#xff08; <context:annotation-config/> &#xff09; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns&qu…

在pandas中使matplotlib动态画子图的两种方法【推荐gridspec】

先上对比图&#xff0c; 第一种方法&#xff0c;这里仅展示1个大区&#xff0c;多个的话需要加一层循环就可以了&#xff0c;主要是看子图的画法 当大区下面的国家为1个或2个时&#xff0c;会进行报错 # 获取非洲国家列表 african_countries df[df[大区] 南亚大区][进口国…

flink中不同序列化器性能对比

背景 flink有多种序列化方式&#xff0c;包括flink内置的以及fallback到kryo的&#xff0c;那么他们之间有多大的性能差距呢&#xff0c;本文就从https://flink.apache.org/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/这篇文章里摘录…

【李沐深度学习笔记】线性代数实现

课程地址和说明 线性代数实现p2 本系列文章是我学习李沐老师深度学习系列课程的学习笔记&#xff0c;可能会对李沐老师上课没讲到的进行补充。 这节就算之前内容的复习&#xff0c;后面以截图形式呈现 标量由只有一个元素的张量表示 import torch x torch.tensor([3.0]) y …

华为云云耀云服务器L实例评测|搭建CounterStrike Source Delicated Server(CS起源游戏服务器)

华为云云耀云服务器L实例评测&#xff5c;搭建CounterStrike Source Delicated Server&#xff08;CS起源游戏服务器&#xff09; #【有奖征文】华为云云服务器焕新上线&#xff0c;快来亲身感受评测吧&#xff01;# ⭐️ CounterStrikeSource&#xff08;CS起源是Valve的一款…

【Vue简介+搭建Vue开发环境+Hello小案例】

Vue简介搭建Vue开发环境Hello小案例 1 Vue简介2 搭建Vue开发环境3 Hello小案例 1 Vue简介 Vue是一套用于构建用户界面的渐进式JavaScript框架。&#xff08;渐进式&#xff1a;Vue可以自底向上逐层的应用<简单应用&#xff1a;只需要一个轻量小巧的核心库><复杂应用&…

tp8 Editor.md

Editor.md - 开源在线 Markdown 编辑器 放于public文件夹下 html代码&#xff1a; <div class"layui-col-md12" id"content"><textarea name"content" placeholder"详情" class"layui-textarea">{notempty nam…

05-Zookeeper典型使用场景实战

上一篇&#xff1a;04-Zookeeper集群详解 1. Zookeeper 分布式锁加锁原理 如上实现方式在并发问题比较严重的情况下&#xff0c;性能会下降的比较厉害&#xff0c;主要原因是&#xff0c;所有的连接都在对同一个节点进行监听&#xff0c;当服务器检测到删除事件时&#xff0c…

目标追踪学习经验总结

标题目标追踪算法学习经验总结   最近对目标追踪算法进行了学习&#xff0c;以下是我的学习经验&#xff0c;如有不对之处&#xff0c;欢迎大家指正。 1、简介 1.1 定义 目标跟踪是通过分析视频图片序列&#xff0c;对检测出的各个候选目标区域实施匹配&#xff0c;定位出这…

nat综合实验

路漫漫其修远兮,吾将上下而求索。 实验目的如图 实验思路&#xff1a;配置内网&#xff0c;再配置外网&#xff0c;再做nat clien1配置 clien2配置 pc3配置 lsw1配置 sysname lsw1 # vlan batch 10 20 30 # interface MEth0/0/1 # interface Eth-Trunk1port link-type trunkp…

数据结构——排序

排序算法 前言一、认识排序排序的概念常见的排序算法排序实现的接口 二、常见排序算法的实现插入排序直接插入排序希尔排序 选择排序直接选择排序堆排序 交换排序冒泡排序 三、各个排序的效率比较四、完整代码演示&#xff1a;shell_insert.hshell_insert.ctest.c 总结 前言 来…

怎样在CSDN插入代码块 怎么变色?

添加代码块&#xff0c;通常有三种方式&#xff1a; 文章目录 ①点击 工具栏中的代码块 代码块 </>&#xff0c;② 快捷键 ctrlshiftk③ 先粘贴上代码&#xff0c;在选中 ctrlshiftk4 如果代码没有变彩色 ①点击 工具栏中的代码块 代码块 </>&#xff0c; 例如 选…