C文件之四 文件的随机读/写

C/C++文件的随机读取 1.在输入文件流类中,有关读指针的函数如下:(1)移动读指针函数。seekg(streampos pos),该函数的功能是将输入文件的指针移动到pos指定的位置中。         例如:设infile是一个istream类对象,则infile.seekg(100);  //input流的读指针一道第100个字节处         seekg(streamoff offset,seek 阅读详情

                                                        文件的随机读/写
           要实现文件随机读写, 位置指针的随机移动是关键, 也就是文件位置指针可以根据读写 需要可以方便的定位到文件的任意位置。
           设定文件内部位 置指针的函数主要有两个,即rewind函数和?fseek函数。
          rewind(文件指针):   它的功能是把文件内部的位置指针移到文件首。
         fseek函数用来移动文件内部位置指针,其调用形式为:
         fseek(文件指针,位移量,起始点)
   其中:
   “文件指针” 指向被移动位置指针的文件类型指针。
   “位移量”    表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求加后缀“L” 。
   “起始点”    表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文 件尾。
     其表示方法如下表。
     起始点           表示符号         数字表示
     文件首         SEEK_SET          0
    当前位置      SEEK_CUR          1
    文件末尾      SEEK_END          2
   例如:
   fseek(fp,100L,0);
   其意义是把位置指针移到离文件首 100个字节处。
   还要说明的是 fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。
   常用fread 和fwrite 函数对文件进行随机读写。
*/

//例7 :使用文件随机读写方式取出程序 例6 生成的二进制文件中第 4 名学生
#include<stdio.h>
#include<stdlib.h>
struct stu
{
  char name[10];
  int  num;
  int  age;
  char addr[15];
};
void main()
{
  FILE *fp;
  char  ch;
  struct stu stu01;
  int i=0;        //i用于记录
  if((fp=fopen("c:\\stu_list","rb"))==NULL)
  {
    printf("Cannot open the file!!");
 getchar();
 exit(1);
  }
  rewind(fp);
  fseek(fp,i*sizeof(struct stu),0);
  fread(&stu01,sizeof(struct stu),1,fp);
  printf(" \n\nname  \tnumber    age     addr\n");
  printf("%s\t%5d%7d%8s\n",stu01.name,stu01.num,stu01.age,stu01.addr);
  fclose(fp);
}

 

另外:

C语言中常用的文件检测函数有以下几个。
1.文件结束检测函数 feof
feof 函数的功能是判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则
返回值为 0.
函数调用的一般
形式是: feof(文件指针);

2.读写文件出错检测函数 ferror
ferror 函数的功能是检查文件在用各种输入输出函数进行读写时是否出错。如 ferror
返回值为 0表示未出错,否则表示有错。
ferror 函数调用格式:
ferror(文件指针);
3.文件出错标志和文件结束标志置 0 函数 clearerr
clearerr 函数的功能是用于清除出错标志和文件结束标志,使他们为 0 值。
clearerr 函数调用格式:
clearerr(文件指针)

 

[C/C++]随机生成信息,并保存到文件中 实现功能: 随机生成一栋宿舍楼学生的信息, 阅读详情

相关推荐

别再手动测接口了!用Pytest+Requests+Allure搭建你的第一个自动化框架(附完整源码)

本文详细介绍了如何使用Pytest+Requests+Allure搭建Python接口自动化测试框架,涵盖环境准备、核心组件封装、测试用例设计、报告生成及CI/CD集成等关键步骤。通过实战案例和完整源码,帮助开发者快速构建高效的接口自动化测试解决方案,提升测试效率和质量。

weixin_42546508的博客 319

十一章——4 文件 随机读写

C语言文件

unicornnnqz的博客 212

新手避坑指南:从GEO数据库下载单细胞测序数据的5个关键步骤(附实操截图)

本文为单细胞测序数据下载新手提供5个关键避坑步骤,涵盖数据搜索准备、样本量评估、文件选择决策、元数据诊断及高效下载技术。通过实操截图和代码示例,帮助研究者快速锁定GEO数据库中的优质单细胞测序数据,避免常见错误。

weixin_30296405的博客 658

13c语言中的文件是一种流式文件,读写时均以字符为单位.,C语言题库及答案(选择题)...

347.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()。 A.p=1; B.*q=2; C.q=p; D.*p=5; 348.fscanf函数的正确调用形式是()。 A.fscanf(fp,格式字符串,输出表列); B.fscanf(格式字符串,输出表列,fp);C.fscanf(格...

weixin_42470300的博客 907

异步复位同步释放:如何确保复位信号的可靠性与时序安全

本文深入探讨了异步复位同步释放技术在数字电路设计中的关键作用,详细分析了复位信号的可靠性与时序安全问题。通过对比异步复位与同步复位的本质区别,揭示异步复位的优势与潜在风险,并提供了标准的Verilog实现方案。文章还涵盖了多时钟域下的复位同步策略、复位网络时序约束方法以及实际工程中的经验教训,为数字系统设计者提供了全面的复位信号处理指南。

weixin_29213655的博客 398

OpenClaw实战系列·进阶特辑02:多智能体协同——打造企业级AI中台

**企业级AI中台面临多Agent协同的挑战,本文提出基于多智能体协同的解决方案。通过分析单Agent的局限性(上下文溢出、专业度稀释等)和多Agent的核心优势(任务专注度、故障隔离等),提出三种协作架构模式(指挥型、联邦型、点对点型),并强调人格化设计的重要性。文章详细介绍Agent间通讯机制(同步/异步会话、文件系统协作)和"身脑分离"的解耦架构设计,提供可落地的企业级AI中台实施方案。

PeterPan的博客 493

C语言文件的随机读写

文件的随机读写 实现随机文件的读写的关键是要按要求移动位置指针,这称为文件的定位 文件定位函数 rewind 和 fseek 移动文件内部位置指针的函数主要有 rewind() 和 fseek() rewind()用来将位置指针移动到文件的开头,前面以多次使用过, 他的原型为:                                       void rewind(FILE

Brain_hao的博客 4506

Spring Security 珍藏版快速入门

文章目录一、前期配置二、Spring Security 测试三、案例:自定义页面(XML配置用户信息)三、案例:自定义页面(数据库存储用户信息) 一、前期配置 (1)pom.xml <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>${s

南淮北安的博客 633

文件的随机读写

文件的随机读写也就是说文件指针可以随意移动。 文件的操作方式: 顺序读写:文件指针只能从头移动到尾。 随机读写:文件指针可以随意移动,根据需要。 上面的两种文件读写方式不论是ASCII文件还是二进制文件都是可以的。 文件指针:在磁盘文件操作中有一个文件指针,用来知名当前应进行读写的位置,没有具体变量。 文件流提供一些有关文件指针的成员函数: 例子:从键盘输入1

yuer的博客 1万+

基于Python的彭博社新闻高效爬取实战:最新技术与完整代码解析

本文将详细介绍如何使用Python最新技术构建一个高效的彭博社(Bloomberg)新闻爬虫系统。我们将从爬虫基础概念讲起,逐步深入到高级反反爬技术、异步抓取、数据解析与存储等核心环节。文章包含完整的代码实现,采用最新的aiohttp、Playwright等技术栈,并特别关注法律合规性和数据质量保障。通过本文,读者将掌握一个完整的商业新闻爬虫开发流程,并能够根据实际需求进行定制化开发。关键词:Python爬虫、彭博社、Bloomberg、新闻采集、aiohttp、Playwright、反反爬技术。

2201_76125261的博客 1503

一文看懂 SAP Integration Suite:从架构治理、接口编排到事件驱动的集成全景

SAP Integration Suite是企业数字化转型中的关键集成平台,通过统一的方法论和工具链解决系统互联、数据对齐和流程协同等复杂问题。其核心能力包括:1)集成评估(Integration Assessment)提供战略规划框架;2)迁移评估(Migration Assessment)支持从传统平台向云的平滑过渡;3)云集成(Cloud Integration)实现日常业务流程编排;4)集成顾问(Integration Advisor)简化B2B标准映射;5)贸易伙伴管理(TPM)优化外部协作流程;

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 501

C/C++文件操作————写文件与读文件以及通讯录的改进 (保姆级教学)

在前面我们写到过文件的打开与关闭用到了函数主要是fopen函数,参数是文件的文件名和打开方式,文件关闭函数fclose,参数是流,我们还讲到过流,今天我们讲解一些写文件与读文件函数以及对通讯录的改进还有一些文件的其他函数。今天主要包括将数据传入文件的函数,以及将文件中的内容传到程序中的函数,还有一些对于文件中的指针以及偏移量的函数fseek函数,ftell函数,rewind函数的讲解,异界对通讯录的改造.今天的内容就结束了。

Infernal_Puppet的博客 995

H3C BGP联盟实验

bgp,bgp联盟,bgp公认团体属性,

一只懒羊羊 968

【C语言】文件操作,文件的顺序读写与随机读写详细介绍

详细讲解文件指针,文件打开与关闭,文件顺序读写以及随机读写等内容。

林宇恒的博客 5750

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言之文件顺序读写和随机读写

上篇博客介绍了文件的基本知识,本文将详细讲解有关文件顺序读写和随机读写函数。

2302_77770138的博客 1598

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C语言程序设计P8【文件】——文件的打开与关闭、顺序文件的读写、随机文件的读/写

C语言程序设计P8【文件】——文件的打开与关闭、顺序文件的读写、随机文件的读/写

嵌入式阿齐Archie 1053

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

C语言中文件的读写_c语言文件的读和写是什么意思

读文件就是读取文件,将硬盘中文件内容读取出来使用。写文件就是将数据写入硬盘的特定文件,方便下次读取。读文件相当于输入,写文件相当于输出。对程序来说,从文件中读数据相当于从键盘输入数据;往文件中写数据相当于在屏幕上输出数据。

2401_89722494的博客 1138

如何用c语言读文件,如何用C语言读写文件

c语言读写文件程序:#include "stdio.h"#include main(){FILE *fp1;//定义文件流指针,用于打开读取的文件FILE *fp2;//定义文件流指针,用于打开写操作的文件char text[1024];//定义一个字符串数组,用于存储读取的字符fp1 = fopen("d:\\a.txt","r");//只读方式打开文件a.txtfp2 = fopen("d:\...

weixin_32956805的博客 1万+

文件组织与使用

接着,我们使用ftell获取当前的文件位置,然后使用fseek将文件位置移动到文件开头。最后,我们再次使用fseek将文件位置移动到文件开头,并再次读取文件内容,以验证新内容是否已经写入。whence:起始位置,可以取值为:SEEK_SET(文件开头),SEEK_CUR(当前位置),SEEK_END(文件结尾)这段代码首先尝试打开一个文件,如果文件打开失败,则打印错误信息并返回-1,否则进行文件操作后关闭文件。offset:偏移量,即需要移动的字节数,可以为正(向文件尾方向),也可以为负(向文件头方向)

MeyrlNotFound的博客 900

【C/C++】文件操作总结

文章目录文件操作文件基础磁盘文件和设备文件磁盘文件的分类文本文件和二进制文件文件的打开和关闭文件指针文件的打开文件的关闭文件的顺序读写按照字符读写文件fgetc、fputc按照行读写文件fgets、fputs按照格式化文件fprintf、fscanf按照块读写文件fread、fwrite文件的随机读写Windows和Linux文本文件区别获取文件状态删除文件、重命名文件名文件缓冲区文件缓冲区概念磁...

明月沉江春雾晓 6327

C语言文件操作+文件的顺序/随机读写详解

在学习文件操作之前,我们的程序的运行过程(比如scanf和printf)主要是键盘和内存的交互,最后由屏幕显示结果。如果你试着将一段程序调试多次,你可能会发现每一次调试时,存放变量的地址都是不一样的,也就是说,这时的数据是存放于内存之中的,并没有持久化的存放进硬盘 通过使用文件,我们就可以直接把数据存放进电脑硬盘,从而实现数据的持久化

qq_62407309的博客 3477

【C语言】文件操作(2)(文件缓冲区和随机读取函数)

刚刚我们学习了如何判断文件读取结束,那么文件读取结束了不一定就是正常的全部读取成功了,所以又会有正常读取结束和错误读取结束两种区别,正常读取结束就是文件读取到了文件末尾,错误读取就是因为某种原因读取出现错误了,没有读到文件末尾。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才⼀起送到磁盘上。可以看到fread是一个函数,它的原型我们也解释过,这里不多说了,我们可以看下一行加粗的字体,翻译过来就是,从流中读取数据块,看到这个解释我们就知道了,它读取时不是 只能读取二进制,而是可以读取数据块。

hdxbufcbjuhg的博客 2894
上一篇: C文件之三 文件的读写
下一篇: C语言指针与数组
EmbeddedLong
博客等级 码龄16年 79粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值