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

网站开发的逻辑12123互联网服务平台

网站开发的逻辑,12123互联网服务平台,wordpress首页显示当前时间,做网站的数据库的选择目录 1.文件接口 1.1open 1.2C语言为什么要对open进行封装 2.fd demo代码 第一个问题 第二个问题 打开文件流程 引言#xff1a;在学习C语言的时候#xff0c;我们见过很多的文件的接口#xff0c;例如fopen#xff0c;fwrite#xff0c;fclose等等#xff0c;但…目录 1.文件接口 1.1open 1.2C语言为什么要对open进行封装 2.fd demo代码 第一个问题 第二个问题 打开文件流程 引言在学习C语言的时候我们见过很多的文件的接口例如fopenfwritefclose等等但是仅仅凭借C语言的知识我们并没有办法完全理解只是知道怎么去用希望看完这篇文章能加深你对文件的理解。 1.文件接口 C语言的各种的文件接口必然是对系统调用的封装打开一个文件必须先将其加载到内存这只有操作系统才能做到。 1.1open 返回值打开或者创建新文件的fdfile descriptor文件描述符为什么是int后面会讲。 pathname打开或者创建文件的名字。 flag打开方式利用位图传参 O_RDONLY以只读的方式打开 O_WRONLY以只写的方式打开 O_RDWR以读写的方式打开 O_APPEND以追加的方式打开 O_CREAT如果文件不存在就创建个新文件 O_TRUNC打开时将文件清空 mode新创建文件的权限受权限掩码影响。 其实这里已经很明显了fopen(xxx,w)就是open(xxx,O_WRONLY | O_CREAT | O_TRUNC) 1.2C语言为什么要对open进行封装 因为不同平台的open接口是不同的将open封装保证了C语言的跨平台性fopen调用不同平台的open接口。 2.fd demo代码 #include stdio.h #include sys/types.h #include sys/stat.h #include fcntl.hint main() {umask(0);//权限掩码设置为0int fd1 open(log1.txt, O_WRONLY|O_CREAT|O_TRUNC, 0666);int fd2 open(log2.txt, O_WRONLY|O_CREAT|O_TRUNC, 0666);int fd3 open(log3.txt, O_WRONLY|O_CREAT|O_TRUNC, 0666);int fd4 open(log4.txt, O_WRONLY|O_CREAT|O_TRUNC, 0666);if(fd -1){perror(open);return 1;}printf(fd: %d\n, fd1);printf(fd: %d\n, fd2);printf(fd: %d\n, fd3);printf(fd: %d\n, fd4);} 创建了文件并且把他们fd全部打印出来。 执行结果 看到这个执行结果有2个问题 1.0 1 2去哪里了 2.fd有些像数组下标 第一个问题 0 1 2是程序默认打开的三个文件流 stdin: 0 标准输入  键盘设备 stdout1 标准输出 显示器设备 stderr2 标准错误 显示器设备 printf(%d\n, stdin-_fileno); printf(%d\n, stdout-_fileno); printf(%d\n, stderr-_fileno); 第二个问题 stdin的类型是FILE * ,很明显stdin是一个结构体指针说明LINUX系统内核中存在一种结构体来描述文件。 struct file 就是对文件的描述每个struct file都会存在一个struct file*next 指向下个struct file操作系统就把对文件的管理转化为对这个链表的管理。 打开文件的本质就是程序执行open系统调用将文件打开进程为了知道自己打开了哪些文件在task_struct中会有一个struct file_struct *file的指针指向一个struct file_struct的结构体这个结构体中存在一个 struct file*的数组fd就是这个数组的下标我们通过fd就能找到对应的         struct file。 打开文件流程 首先就要为文件创建一个struct file 将创建好的struct file链入链表中然后放到struct file *fd array[]返回文件在数组中的下标。 fd的本质就是数组下标
http://www.dnsts.com.cn/news/205740.html

相关文章:

  • 如何加强网站内容建设黑龙江省领导名单
  • 如何搭建一个自己的网站广告设计软件下载
  • 欢迎进入中国建设银行网站网站建设接私单
  • 湖北省建设信息港网站网页qq登录怎么进不去
  • 邢台做网站邮箱濮阳市城乡一体化示范区七星医院
  • seo站内优化技巧互联网营销推广服务商
  • 网站的优势和劣势湖南省建设干部学校 网站
  • 网站建设的目标是什么电脑上做简单的网站
  • 中建八局第一建设公司网站网站怎么搜
  • 通信部门网站备案证明搭建什么网站好
  • 静态双语企业网站后台源码海外贸易平台有哪些
  • 深圳企业网站建设设计制作方案全国新冠疫苗接种人数最新消息
  • 最好的做网站公司有哪些巩义网站建设报价
  • 青岛建设厅网站天津seo推广服务
  • 青海网站建设系统链家地产二手房网
  • 深圳网站设计 三把火科技简单的网站建设公司的模板
  • 展会网站制作wordpress怎么设置seo
  • 珠峰网站建设徐州网站app开发
  • 学建站论坛汕头网站建设公司
  • 做网站用语言网上推广app怎么做
  • 网站开发成本核算温州做外贸网站
  • 苏州相城区网站建设简单介绍家乡网页html代码
  • 菏泽网站获客网站建设公司做网站官网需多少钱
  • 电子商务网站平台建设策划网站建设的人员组织
  • 二手网站建设的策划网页编辑用户信息原理
  • django网站开发逻辑设计html可视化编辑软件
  • 专业层析成像代做网站荥阳郑州网站建设
  • python做网站用什么框架邯郸网页运营
  • 备案期间 网站想正常做网站 公司有哪些
  • 微信如何做积分商城网站网站幻灯通栏代码