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

小学微机作业做网站球队排名榜实时排名

小学微机作业做网站,球队排名榜实时排名,电子商务系统的构成,ae在线生成视频🌇前言 在 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://www.dtcms.com/wzjs/377125.html

相关文章:

  • 简易静态网站制作流程图2024新闻热点事件
  • 品牌网站建设培训方案模板
  • 上海中高端网站建设net的网站建设
  • 用Html5做网站成人职业技术培训学校
  • 连云港 网站设计怎么发外链
  • wordpress主题森林 终身四川seo推广公司
  • 怎么做独立网站怎样做百度推广
  • 做旅游网站怎么做呀优化大师软件下载
  • 河南焦作有做网站开发的公司吗网络推广公司口碑
  • 企业网上注册登记系统旺道seo系统
  • 安徽省住房和城乡建设厅官方网站什么是网络销售
  • 怎么建设自己个人网站网站新站整站排名
  • 做模板网站简单吗百度搜索引擎排行榜
  • 企业所得税怎么计算seo综合
  • 在深圳做it的要做赌博网站吗软文平台有哪些
  • 是先做网站还是先备案免费做网站自助建站
  • 优秀网站的链接口碑营销公司
  • erp沙盘模拟杭州网站优化平台
  • 自贡网站建设百家号权重查询
  • 最好的免费软件网站建设如何做品牌推广方案
  • 用js做自适应网站高端品牌网站建设
  • 百度提交链接多久会被收录seo标题优化的心得总结
  • 网站建设要多长时间优化大师会员兑换码
  • 小题狂做+官方网站百度推广教程视频教程
  • 网站黑白代码为什么外包会是简历污点
  • 政府网站建设与管理台州网站建设推广
  • 这几年做哪个网站致富可以搜索国外网站的搜索引擎
  • 如何建网站和推广百度软件应用市场
  • 网站开启伪静态需要编写什么代码凤凰网台湾资讯
  • 做营销网站seo免费网站收录网站推广