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

深圳服务好的网站建设百度网站链接

深圳服务好的网站建设,百度网站链接,有哪些企业可以做招聘的网站有哪些内容,做网站是目录标准库IO函数一、fopen二、fwrite三、fread四、fseek五、fclose在编写程序时,离不开IO操作,最常见的IO操作就是用printf函数进行打印,本文主要介绍的是封装后的IO库函数。 标准库IO函数 常使用的IO库函数如下: 函数作用fop…

目录

    • 标准库IO函数
    • 一、fopen
    • 二、fwrite
    • 三、fread
    • 四、fseek
    • 五、fclose

  在编写程序时,离不开IO操作,最常见的IO操作就是用printf函数进行打印,本文主要介绍的是封装后的IO库函数。

标准库IO函数

常使用的IO库函数如下:

函数作用
fopen打开指定的文件
fwrite向指定的文件写入数据
fread从指定的文件读取数据
fseek跳转到指定文件的读写位置
fclose关闭指定文件

一、fopen

FILE *fopen(const char *path, const char *mode);

 作用:用指定的方式打开指定的文件

  • const char *path:文件名(要带这个文件的路径)
  • const char *mode:文件的打开方式(只读、追加写等方式)

 返回值:成功返回FILE*文件流指针,通过这个指针来操作文件,失败返回NULL。

文件打开方式 mode:

  • r只读,文件必须存在,否则打开失败
  • r+可读可写,文件必须存在,否则打开失败
  • w只写,文件不存在会创建文件并打开,文件存在则会清空文件的原有内容并打开文件
  • w+可读可写,文件不存在会创建文件并打开,文件存在则会清空文件的原有内容并打开文件
  • a追加只写,文件不存在会创建文件并打开,文件存在则直接打开,写入数据时把数据写入到文件末尾
  • a+可读追加写,文件不存在会创建文件并打开,文件存在则直接打开,写入数据时把数据写入到文件末尾
  • b以二进制方式打开文件,否则默认以文本形式打开文件

 以上这些方式都是可以组合的,比如可以使用二进制打开并且可读追加写:ba+

二、fwrite

size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);

 作用:通过传递的文件流指针,向文件写入指定大小的数据。

  • const void *ptr:要向文件写入的数据的首地址
  • size_t size:要向文件写入数据的块大小。因为文件的写入和读取是以块为单位的,块大小就是把数据均分成几块,每块文件有多大。
  • size_t nmemb:要向文件写入数据的块的个数。
  • FILE *stream:文件流指针,表示要把数据写入到哪个文件

  返回值:返回实际写入文件的完整块的个数(1.5个块就返回1,0.5就返回0),出错返回0。

三、fread

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

 作用:从指定的文件读取指定大小的数据。

  • void *ptr:用来存储读取到的数据的空间的首地址。
  • size_t size:要读取的块的大小。
  • size_t nmemb:要读取的块的个数。
  • FILE *stream:要操作的文件的文件流指针。

 返回值:成功返回实际读取到的完整块的个数,读取不足一块的返回0,读取到了文件末尾返回0,出错了返回0。因此返回值是有歧义的。

 因为返回值有歧义,因此通常把nmenb设置为要读取的数据的长度,把块的大小设置成1,这种方式可以明确通过返回值判断,到底有没有读取到数据。还可以使用下面两个函数来帮助判断返回值的含义。

  •  int ferror(FILE* stream):

    •  作用:测试文件的上一次操作是否出错了,出错了返回1
  •  int feof(FILE*stream):

    •  作用:测试文件读写是否到达文件末尾,到达文件末尾返回1

四、fseek

int fseek(FILE *stream, long offset, int whence);

 作用:跳转文件的读写位置。

  • FILE *stream:要操作的文件流指针
  • long offset:偏移量(负数表示向前偏移,整数表示向后偏移,0不偏移)
  • int whence:表示从哪里开始偏移

 返回值:成功返回0,失败返回-1

什么是读写位置,为什么要跳转?

 如果往一个文件写数据,写完之后直接读取,你会发现什么也读不出来。因为文件有一个读写位置,你可以理解成一个指针,这个指针指向的是你文件操作的最末端,你从最末端读取自然读取不出来,因此读取前要把指针指向文件的开头,也就是把读写位置跳转到开头。

读写位置

whence选项:

  • SEEK_SET:起始位置
  • SEEK_CUR:当前读写位置
  • SEEK_END:末尾位置

注意:如果你想在追加写的时候跳转读写位置,比如说,想在文件的开头进行追加写,这样是不会成功的,因为追加写只会在文件末尾进行写入

 文件的写入是一种覆盖式写入,比如我将读写位置跳转到w字符处,然后写入123,这样wor三个字符会被覆盖。

覆盖写入

五、fclose

int fclose(FILE *stream);

 作用:关闭文件

  • FILE *stream:要关闭的文件的文件流指针

 返回值:成功返回0,失败返回-1

http://www.hrbkazy.com/news/24790.html

相关文章:

  • 开个淘宝店做网站设计好吗链接检测工具
  • 企业加盟网站建设cps广告联盟平台
  • 看一个网站是哪里做的百度推广怎么操作
  • 番禺网站制作技术爱站网 关键词挖掘
  • 众讯 网站建设网站建设公司哪家好
  • 网站关键词优化seo关键词之间最好用逗号网上营销型网站
  • 建筑工程公司名字seo自然优化排名
  • 寿光市住房和建设局网站seo实战培训学校
  • 怎样做自己的 优惠卷网站b站推广入口在哪
  • 亚马逊企业网站建设什么文案容易上热门
  • 江西省宜春市建设局网站西安疫情最新数据
  • 北海哪家做网站今日新闻最新头条10条
  • 长春公司网站建设苏州疫情最新消息
  • 盐城做网站海外推广营销平台
  • 蚌埠 网站制作淘宝指数转换
  • 网站开发成本会计分录公司广告推广方案
  • 慈溪做网站什么价怎么推广产品
  • 江西省大余县建设局网站哪里可以做
  • 企业所得税优惠政策最新2023上海搜索引擎内部优化
  • 营销网站建设网站制作公司免费搜索引擎入口
  • 深圳婚纱摄影网站建设百度大数据查询怎么用
  • 邢台网站建设哪里有今日大事件新闻
  • 自己建立公司网站什么是百度推广
  • 网站开发的背景ping站长工具
  • 自己做网站要会什么软件营销型网站建站
  • 网站添加微信支付陕西整站关键词自然排名优化
  • 免费给别人开发网站常见的微信营销方式有哪些
  • 西安360免费做网站外贸网站建设推广公司
  • 领地申请的网站能备案吗一个公司可以做几个百度推广
  • 广西南宁建设银行最新招聘网站百度关键字搜索量查询