深圳定制网站制作报价北京网站建设推荐华网天下

web/2025/9/30 18:29:34/文章来源:
深圳定制网站制作报价,北京网站建设推荐华网天下,怀化市网站建设,网站开发最强工具C语言中文件定位函数主要是#xff1a;fseek, ftell, fsetpos, fgetpos。 先来讲前两个函数#xff0c;这是最基本的定位函数#xff1a; fseek函数#xff1a;能把文件指针移动到文件任何位置#xff0c;其原型是#xff1a;int fseek(FILE *fp, long offset, int fromw…C语言中文件定位函数主要是fseek, ftell, fsetpos, fgetpos。 先来讲前两个函数这是最基本的定位函数     fseek函数能把文件指针移动到文件任何位置其原型是int fseek(FILE *fp, long offset, int fromwhere);   参数解释第一个参数为要进行定位的文件的指针第二个参数为定位的偏移量一个有符号的long类型值正数表示文件指针向后偏移负数表示文件指针向前偏移0 表示不进行偏移第三个参数表示文件指针从哪个位置开始偏移有三个值可选SEEK_SET SEEK_CUR SEEK_END分别表示文件第一个字节即第零个位置文件指针当前所指字节即当前位置和文件EOF位置。   返回值返回 0 表示操作成功返回非 0 表示操作失败。   其他注意该函数不能定位到第一个字节之前的位置如果尝试这样操作会导致fseek返回 -1即操作失败比如这样的代码“j fseek(fp, -4L, SEEK_SET );”其中 j 值就是 -1但是该函数能定位到EOF位置之后的位置并且不报错即使这样是没有意义的比如这样的代码“j fseek(fp, 4L, SEEK_END)”返回值 j 是 0并且此时 ftell(fp) 返回值是SEEK_END 4。     ftell函数能返回当前文件指针所在的位置文件的第一个字节所在位置是零其原型是long ftell(FILE *fp);   参数解释有且仅有一个参数为一个文件的指针。   返回值有符号long类型的正向值即0~2147483647。   其他注意暂无。   实际上前两个函数对文件指针的定位虽然都很方便但是它们都有一个局限性那就是它们能定位的最大字节是依据 long 类型的取值范围决定。比如 fseek(fp, max_pos, SEEK_SET);它能移动的最大偏移量是 max_pos 2147483647字节即1GB对于大于1GB的文件来说就力不从心了。 所以ANSI C推出了解决大文件定位的方案即后两个函数不过即使是现在直接处理一个超过1G的单文件还是比较少的 在说这两个函数之前先要介绍一个数据类型fpos_t它是一个结构体类型保存着文件指针的位置并且这种数据类型只能被fgetpos和fsetpos函数使用。   fsetpos函数将文件指针的位置设置为fpos_t类型变量所保存的位置其原型是int fsetpos(FILE *, const fpos_t *)   参数解释第一个参数为一个文件的指针第二个参数为一个fpos_t类型的指针。   返回值0 表示操作成功非 0 表示操作失败。   其他注意暂无。   fgetpos函数将文件指针的位置保存到fpos_t类型变量中其原型是int fgetpos(FILE *, fpos_t *)   参数解释同fsetpos。   返回值同fsetpos。   其他注意暂无。 总结后两个函数通常是fseek函数偏移累加之后超过long范围时才用到例如如下代码 fpos_t pos; //定义一个fpos_t类型的变量pos f fopen(a.txt, r); //假设a.txt是一个超过1G的文件 fseek(f, 2000000000L, SEEK_SET); //向后偏移20亿字节 fseek(f, 1000000000L, SEEK_CUR); //再向后面偏移10亿字节 //此时文件指针的位置已经超过了signed long的正向范围就需要用fpos_t类型变量来保存文件指针位置了 fgetpos(f, pos); //此时当前文件指针的位置已保存到pos变量中了 fseek(f, 5000L, SEEK_CUR); printf(%x\n, getc(f)); //再向后偏移5千字节并取出偏移后所在的字节以十六进制打印出来 fsetpos(f, pos); //利用fsetpos函数重置文件指针根据最后一次fgetpos保存的pos值这次函数操作将向前偏移5千字节 printf(%x\n, getc(f)); //以十六进制打印出当前字节 fclose(f); //释放文件流  上述代码可能有点抽象因为你可能一时间找不到大于1G的文件那么我们就用小文件来演示一下 假设文件utf8.txt的十六进制结构如下 41 42 43 56 57 44 44 4B C语言代码如下 FILE * f1; fpos_t pos; f1 fopen(utf8.txt, r); fseek(f1,2,SEEK_SET); fgetpos(f1, pos); fseek(f1,4,SEEK_SET); printf(%x\n, getc(f1)); fsetpos(f1,pos); printf(%x\n, getc(f1)); fclose(f1); 输出结果 5743Press any key to continue转载于:https://www.cnblogs.com/ryzz/p/9357158.html

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

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

相关文章

临沂制作手机网站怎样下载广安同城app

本文主要介绍如何在 GitHub Codespaces 这个云上 IDE 环境中安装 .NET 7背景GitHub 的 Codespaces 可以让我们随时随地编写代码,一些简单的修改也非常方便快捷。特别是 .NET 7 发布后,一些可以直接升级的小项目只需要更改配置就可以了,我们可…

大连网站推广工具杭州二建建设有限公司网站

​​题目来源: leetcode题目,网址:面试题 01.04. 回文排列 - 力扣(LeetCode) 解题思路: 对字符串中各字符计数,若个数为奇数的字符个数大于 1,则不是回文排列,否则是。 …

怎样通过网址浏览自己做的网站网站支付页面怎么做的

在 Java Web 应用中,高并发环境会带来一系列的挑战,这些挑战可能会影响应用的性能、稳定性和可用性。下面是一些常见的问题以及相应的解决方案: 1. 线程资源竞争 问题: 当多个线程尝试同时访问同一资源时,可能会导致竞争条件,进而影响数据的完整性。 解决方案: 使用同步…

经营网站挣钱深圳企业网查询

您可于2024年6月10日至14日前往美因河畔法兰克福11.0号馆,Softing将在C25展位展出,欢迎莅临! 作为工业应用中数据交换领域公认的专家,Softing工业致力于帮助各行各业的客户部署网络自动化和优化生产流程。 使用Softing产品&…

【转】网页 网站 html如何实现"关闭窗口"代码大全设计工作室取什么名字好

0x01 产品简介 金蝶 Apusic 应用服务器(Apusic Application Server,AAS)是一款标准、安全、高效、集成并具丰富功能的企业级应用服务器软件,全面支持 JakartaEE 8/9的技术规范,提供满足该规范的 Web 容器、 EJB 容器以及 WebService 容器等,支持 Websocket 1.1、Servlet…

卖产品怎么做网站用什么软件制作网站

对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。那么,有什么办法可以避免在代码中写大量的判空语句呢?有人说可以使用 JDK8提供的 Optional …

考试类网站如何做中国质量建设协会网站

如果您是一位 C/C 开发人员,那么您一定知道在编写和维护大型项目时所面临的挑战。这些项目通常包含大量的源代码、库和依赖项,需要耗费大量的时间和精力才能构建和维护。在这种情况下,使用自动化工具可以大大减轻您的负担,提高项目…

网站开发的英文书有什么如何开一个自己的网站

文章目录题目描述思路 & 代码更新版题目描述 原地操作 & 减少操作次数:不能直接只拷非零数,也不要每次都一个个推动整个数组 思路 & 代码 维护一个noZeroNums,代表当前循环遇到的非0数的数量第一趟先不管0的数量,…

金融课程网站模板下载厦门网站到首页排名

zoo是时间序列的基础库,是面向通用的设计。 xts 是对时间序列库(zoo) 的一种扩展实现。xts 类型继承了zoo 类型,丰富了时间序列数据处理的函数。 一、xts对象的结构和定义 1、xts对象是一个具有时间索引的观测值矩阵,结构如下: xts matrix …

青岛seo网站建设公司工商管理网站

Kali环境下安装python3 参考: 由于kali环境下是自动安装了python 2.7,没有python3以上的版本,现在开始安装python 1. 先下载python3的tar包 进入这个目录: cd /usr/local/ 创建一个新文件夹python3: mkdir /usr/loc…

杭州网站建设网站制作网店推广1+x证书

对于任意整数 x,x & (x−1),该运算将 x 的二进制表示的最后一个 1变成 0

淘客网站怎么做返利网站正在建设中9797

Davinci Configurator拓展之手动添加Can接收与发送报文 一、COM模块1.添加Rx signal2.添加Tx signal3.添加COM IPDU - Rx4.添加COM IPDU - Tx二、PDUR模块1.添加PduRRoutingPath_MyRx2.添加PduRRoutingPath_MyTx三、查看配置参数总结完善拓展的能力建设,在Configurator里面手动…

中国空间站建造历程网页设计与网站建设指标点

目录 前言 Tessy 如何进行打桩操作 普通桩 高级桩 手写桩 Tessy单元测试之指针相关测试注意事项 有类型的指针(非函数指针): 有类型的函数指针: void 类型的指针: 结语 前言 进行单元测试之后,但凡…

网站改版设计流程西安易扬众和网站建设

一个简单的文本编辑器 features: 1.open 一个文件夹作为项目 2.save 保存当前窗口的内容 3.退出 4.双击文件可以打开文件内容 5.简单的python高亮 6.双击相同文件,会找到之前打开过的文件 打开一个文件夹 打开项目,双击打开文件 保存 代码&#xf…

石景山网站建设有哪些公司网络程序

今天,我们将看到一些使用JSF的Ajax简单样本。 如果要查看有关JSF / Web应用程序的其他文章,请单击以下链接: 重定向后的JSF持久化对象和消息 , 使用JAAS和JSF进行用户登录验证 , JSF:Converter and Bean Au…

专业的魔站建站系统黑帽seo寄生虫

Hot Chocolate 是 .NET 平台下的一个开源组件库, 您可以使用它创建 GraphQL 服务, 它消除了构建成熟的 GraphQL 服务的复杂性, Hot Chocolate 可以连接任何服务或数据源,并创建一个有凝聚力的服务,为您的消费者提供统一的 API。在本文中, 我会在 .NET 应…

网站建设性能指标企业管理培训课程名称

作为程序员,我们每天都在与代码和工具打交道。其中,Shell是一个非常重要的工具,它可以帮助我们高效地完成各种任务。本文将列举一些程序员日常使用Shell提高效率的操作,帮助大家更好地利用Shell提高工作效率。 首先,让…

网站建设被骗维护费怎么做制作网站的教程

0. My Conclusion CoWs on PASTURE: 擅长零样本的视觉语言对象导航,主要解决了LLM辅助下的任务级动作执行任务VoxPoser: 擅长设计一些未预定义的动作轨迹,主要解决了LLM辅助下的动作轨迹设计任务Relational Pose Diffusion&#…

上海单位网站建设网络推广方式有哪些推广思路

文章目录 1.事务四大特性2.事务并发问题3.事务隔离级别4.隔离级别查看与设置5.自动提交事务5.1 查看是否自动提交事务5.2 关闭或开启自动提交事务 6.事务执行的基本流程7.设置事务的保存点参考文献 说到事务控制,先说一下数据库的事务是什么以及 MySQL 中我们必知的…

59网站一起做网店普宁中国建设网官方网站下载e路最新版

在使用iPhone系统邮箱的时候,我们在配置的时候可能会遇到各种各样的问题,导致无法在系统邮件里面使用163邮箱。主要是手机客户端的密码和网页登陆的密码是不一样的。常见问题下面就是有人在使用的时候遇到的问题:登陆密码错误有人知道怎么在i…