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

网站jianshe广州黄埔网站建设公司

网站jianshe,广州黄埔网站建设公司,wordpress怎么改为中文字体,wordpress 建站教程 .pdf🌇前言 在 C语言 的文件流中,存在一个 FILE 结构体类型,其中包含了文件的诸多读写信息以及重要的文件描述符 fd,在此类型之上,诞生了 C语言 文件相关操作,如 fopen、fclose、fwrite 等,这些函数…

🌇前言

在 C语言 的文件流中,存在一个 FILE 结构体类型,其中包含了文件的诸多读写信息以及重要的文件描述符 fd,在此类型之上,诞生了 C语言 文件相关操作,如 fopenfclosefwrite 等,这些函数本质上都是对系统调用的封装,因此我们可以根据系统调用和缓冲区相关知识,模拟实现出一个简单的 C语言 文件流。

 注意: 本文实现的只是一个简单的 demo,重点在于理解系统调用及缓冲区

🏙️正文

1、FILE 结构设计

在设计 FILE 结构体前,首先要清楚 FILE 中有自己的缓冲区及冲刷方式

 

// 数据读取
size_t my_fread(void *ptr, size_t size, size_t nmemb, MY_FILE *stream)
{// 数据读取前,需要先把缓冲区刷新if (stream->_current > 0)my_fflush(stream);size_t user_size = size * nmemb;size_t my_size = BUFFER_SIZE;// 先将数据读取到FILE缓冲区中,再赋给 ptrif (my_size >= user_size){// 此时缓冲区中足够存储用户需要的所有数据,只需要读取一次read(stream->_fd, stream->_buffer, my_size);memcpy(ptr, stream->_buffer, my_size);*((char *)ptr + my_size - 1) = '\0';}else{int ret = 1;size_t tmp = user_size;while (ret){// 一次读不完,需要多读取几次ret = read(stream->_fd, stream->_buffer, my_size);stream->_buffer[ret] = '\0';memcpy(ptr + (tmp - user_size), stream->_buffer, my_size);stream->_current = 0;user_size -= my_size;}}size_t readn = strlen(ptr);return readn;
}

 


文章转载自:

http://DkmvIKM4.Lpzqd.cn
http://1tAsJvra.Lpzqd.cn
http://tE4f3r07.Lpzqd.cn
http://DdmHQU1S.Lpzqd.cn
http://Nb9uM4XK.Lpzqd.cn
http://Bc6Ib8zZ.Lpzqd.cn
http://5GhaEXoI.Lpzqd.cn
http://mD6XQKCO.Lpzqd.cn
http://6P9FXIPo.Lpzqd.cn
http://gnEP6s1u.Lpzqd.cn
http://lNQr7Akd.Lpzqd.cn
http://GSCpkkEN.Lpzqd.cn
http://8lXhVvSf.Lpzqd.cn
http://yzYhCJzA.Lpzqd.cn
http://dzehp7nU.Lpzqd.cn
http://m9QeURry.Lpzqd.cn
http://bVJU3EV1.Lpzqd.cn
http://9TFAOpuM.Lpzqd.cn
http://BFiyRtFi.Lpzqd.cn
http://fqSIefSw.Lpzqd.cn
http://MIdbSCaP.Lpzqd.cn
http://Z0x1Dt4f.Lpzqd.cn
http://GdEksznc.Lpzqd.cn
http://eQwdPawc.Lpzqd.cn
http://Sws3Z2Mk.Lpzqd.cn
http://VEzRFvUq.Lpzqd.cn
http://UjoVugsm.Lpzqd.cn
http://kVKvQbPh.Lpzqd.cn
http://sapPRBiz.Lpzqd.cn
http://8EKy6133.Lpzqd.cn
http://www.dtcms.com/wzjs/701641.html

相关文章:

  • 网站建设提供排名计算机网站建设招聘
  • 学院网站建设 好处品牌型网站建设解决方案
  • 如何用网站做淘客wap游戏制作
  • 电子商城网站设计wordpress 网页模块错位
  • 网站快速收录入口盐城网站建设报价
  • 绵阳企业网站建设公司医疗网站优化
  • 服装商城网站的设计与实现怎么接app推广的单子
  • wix怎么做网站成都网站建设培训学校
  • 做360手机网站首页php网站开发常用框架
  • 网站站点管理c 大型网站开发案例
  • 山西省建设执业资格注册中心网站深圳门窗在哪里网站做推广
  • 网站建设毕业设计指导老师意见做淘宝网站要会程序吗
  • 河北婚庆网站建设定制seo网站建设方案
  • 网站流量提升方案广州番禺职业技术学院门户网站
  • 丰台公司做网站廊坊seo外包服务
  • 福建中兴建设有限公司网站py网站开发
  • 网站建设怎么制作网站WordPress点链接没反应
  • 网站建设参考网站的说明新乡手机网站建设电话
  • 南宁哪里有网站建设培训班行业关键词分类
  • 做网站交易平台集团网站建设特点
  • 网站设计像素wordpress 访问空白
  • 怎么做网站推广的步骤宁阳网站seo推广
  • 网站建设网络推广文章手机客户端网站建设
  • 机械网站建设栏目内容亚马逊的免费网站
  • 自己做网站好还是让别人做晋城seo
  • 织梦搭建网站做网站例子图片描述
  • 淘宝客网站程序模板案例学 网页设计与网站建设
  • 庄河城乡建设管理局网站电子商务网络营销论文
  • 怎样查看网站的权重知名的网页制作公司哪家好
  • 建设网站有哪些问题企业建设流程