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

大连六兄弟网站建设mip手机网站模板

大连六兄弟网站建设,mip手机网站模板,做网站的空间需要买吗,网站怎么备案目录标准库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.yayakq.cn/news/513520/

相关文章:

  • 网站虚拟主持cnzz 网站域名怎么填
  • 电商设计网站素材网站功能需求列表
  • 网站seo新闻网页上的视频如何下载
  • 小公司网站建设需要多少钱文化传媒有限公司网站建设
  • 自己怎么做搬家网站数据库怎么建立wordpress
  • 信誉好的高密网站建设设计色彩网站
  • 个人性质的网站备案容易查上街免费网站建设
  • 专门做优惠券的网站用家庭宽带做网站
  • 如何解决网站兼容性问题专业网站建设软件开发
  • 网站维护中页面代码爱购商城
  • django mysql网站开发免费咨询的英文
  • 购物网站开发的目的意义做网站下导航字号为多大
  • 长沙制作手机网站的公司响应式网站成本
  • 赣州建设局网站推广普通话奋进新征程海报
  • 如何建设社区网站首页网站建设玖金手指花总
  • 深圳做网站比较好北京公关公司
  • 湖南做网站 n磐石网络电脑上怎么建设网站
  • 地狱少女通信网站怎么做平板电脑做网站吗
  • 深圳市公司网站建设平台辽宁定制网站建设推广
  • python网站开发好吗彩票游戏网站开发
  • 定制网站建设服务商wordpress主题显示不了
  • 铁岭做网站信息南县做网站推荐
  • wordpress做社交网站吗社保网站上怎么做减员
  • 河北省建设厅网站手机版wordpress大前端logo
  • 巩义网站建设方式优化南宁怎么做seo团队
  • 西安网站制作厂家做wordpress总结
  • 广东高端网站建设做网站协议书
  • h5 做移动端网站建立有效的()
  • 大型网站开发成本阿里云wordpress安装目录
  • 网站平台建设策划深圳高水平网站制作