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

杭州城乡建设网站/百度快速排名培训

杭州城乡建设网站,百度快速排名培训,wordpress源程序,wordpress调用最新文章插件标题的顺序是接着之前写的,希望这篇博客对你有帮助 七. 随机读写函数 实际上,无论是读还是写,在一次调用顺序读写函数,文件指针会移到已经读过或者写过的下一个位置,从那个位置开始下一次读和写(在文件没有…

标题的顺序是接着之前写的,希望这篇博客对你有帮助


七. 随机读写函数

实际上,无论是读还是写,在一次调用顺序读写函数,文件指针会移到已经读过或者写过的下一个位置,从那个位置开始下一次读和写(在文件没有关闭的前提下,如果关闭了,文件指针会回到最开始的地方进行读写)

1. fseek

根据文件指针的位置和偏移量来定位文件指针

跳转网站

fseek - C++ Reference

注意事项:

  1. int fseek ( FILE * stream, long int offset, int origin )

返回类型 :int

     2. 参数 : stream , offset , origin

stream 是流的指针(适用于文件

offset 是距离 orgin 位置的偏移量(正数是向右偏移几格,负数是向左偏移几格)

origin 只有三种:

SEEK_SET : 文件指针回到起始位置

SEEK_CUR : 文件指针处于现在位置不动

SEEK_END : 文件指针回到文章的结尾位置

参数类型是 FILE * , long int , int

    3. 引用头文件

<stdio.h>


举例

文件的内容:

#include<stdio.h>
int main()
{FILE* pa = fopen("data.txt", "r");printf("%c", fgetc(pa));printf("%c", fgetc(pa));fseek(pa, -1, SEEK_CUR);printf("%c", fgetc(pa));fseek(pa, 3, SEEK_SET);printf("%c", fgetc(pa));fseek(pa, -1, SEEK_END);printf("%c", fgetc(pa));fclose(pa);pa = NULL;return 0;
}

运行结果:

画图分析:

第一次读取数据:

第二次读取数据:

第三次读取数据:

第四次读取数据:

第五次读取数据:

2. ftell

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

跳转网站

ftell - C++ Reference

注意事项:

  1. long int ftell ( FILE * stream )

返回类型 :lonf int(返回的是偏移量)

     2. 参数 stream

stream 是流的指针(适用于文件

参数类型是 FILE *

     3. 引用头文件

<stdio.h>


举例

#include<stdio.h>
int main()
{char ch[] = "ss";FILE* pa = fopen("data.txt", "r");fseek(pa, -1, SEEK_END);int tmp = ftell(pa);printf("%d ", tmp);fclose(pa);pa = NULL;return 0;
}

运行结果:

画图分析:

3. rewind

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

跳转网站

rewind - C++ Reference

注意事项:

  1. void rewind ( FILE * stream )

返回类型 :void

     2. 参数 stream

stream 是流的指针(适用于文件

参数类型是 FILE *

   3. 引用头文件

<stdio.h>


举例

#include<stdio.h>
int main()
{char ch[] = "ss";FILE* pa = fopen("data.txt", "r");fseek(pa, -1, SEEK_END);rewind(pa);printf("%c ", getc(pa));fclose(pa);pa = NULL;return 0;
}

运行结果:

八. 文件读取结束的判定

文件读取结束有两者情况:

  • 正常的读到文件末尾而结束
  • 因为发生读取错误导致文件读取结束

判定导致文件读取结束原因的函数

1 . feof

当文件读取结束的时候,判断是读取结束的原因是否是:遇到文件尾结束

跳转网站

feof - C++ Reference

注意事项:

  1. int feof ( FILE * stream )

返回类型 :int

     2. 参数 stream

stream 是流的指针(适用于文件

参数类型是 FILE *

    3. 引用头文件

 <stdio.h>

2 . ferror

当文件读取结束的时候,判断是读取结束的原因是否是:遇到文件尾结束

跳转网站

ferror - C++ Reference

注意事项:

  1. int ferror ( FILE * stream )

返回类型 :int

     2. 参数 stream

stream 是流的指针(适用于文件

参数类型是 FILE *

    3. 引用头文件

<stdio.h>


feof 和 ferror 举例

#include<stdio.h>
int main()
{char ch[] = "ss";FILE* pa = fopen("data.txt", "r");while (getc(pa) != EOF){;}if (ferror(pa)){printf("文件读取过程发生失败\n");}else if (feof(pa)){printf("文件正常遇到结尾\n");}fclose(pa);pa = NULL;return 0;
}

运行结果:

九. 文件缓冲区

缓冲文件系统 :

是指系统自动地在内存中为 程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才⼀起送到磁盘上。缓冲区的大小根据C编译系统决定的。

所以我们往文件里面写入数据时,立刻打开文件,不能确保一定能找当刚才的数据(如果想要获得数据,可以先刷新缓冲区)

http://www.jmfq.cn/news/5325337.html

相关文章:

  • 温州市城乡建设建档案馆网站/网络营销工具平台
  • 对网站建设功能的情况说明/网络营销策划书2000字
  • 网站建设 新闻/专业软文代写
  • 个人网站建设主要功能/深圳推广平台有哪些
  • 个人网站建设方案书模板/软文如何推广
  • 大冶市建设局网站/上海关键词优化公司哪家好
  • 大数据网站建设和/做推广的软件有哪些
  • 栾川网站建设/郑州网站网页设计
  • 日本乡村为什么要建设网站/百度一下百度知道
  • 网站建设哪家公司好网站建设 公司/媒体发稿推广
  • 桂林百度网站建设/12345浏览器网址大全
  • 鞍山 网站建设/100大看免费行情的软件
  • 智能网站建设哪家好/吴中seo页面优化推广
  • 建设贷款网站哪家好/如何推广一个产品
  • 温州市建设安监局网站/怎样宣传自己的品牌
  • 网站建设公司好做吗/2021搜索引擎排名
  • 网站建设项目的摘要/网站建设技术外包
  • 淮安市政府门户网站建设的调查报告/电脑培训课程
  • 交友网站如果建设/网络营销推广工具有哪些
  • 高端网站建设 司法/市场营销策略包括哪些策略
  • 果洛电子商务网站建设/引流推广是什么意思
  • 网站建设插入竖线/12345微信公众号
  • 有偷菜餐厅城市建设的网站/怎么创建自己的游戏网站
  • 顺德网站建设基本流程/长沙疫情最新消息今天封城了
  • 人工智能公司网站建设/外链发布网站
  • 淡水网站建设公司/账号seo是什么
  • 建设网站推广广告图/西安做网站公司
  • 邯郸餐饮网站建设/深圳优化网站
  • 英文网站建设官网/百度搜索排名怎么靠前
  • 山东专业网站建设公司哪家好/360推广联盟