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

网站备案实名认证程序员找工作的网站

网站备案实名认证,程序员找工作的网站,wordpress首页插件,怎么制作h5页面目录 struct file内核对象#xff1a; 如何读写文件#xff1f; 文件描述符在文件描述符表中的分配规则#xff1a; 输出重定向初步解析#xff1a; dup2实现复制文件描述符#xff1a; struct file内核对象#xff1a; struct file 是在内核空间中创建的用于描述文…目录 struct file内核对象 如何读写文件 文件描述符在文件描述符表中的分配规则 输出重定向初步解析 dup2实现复制文件描述符 struct file内核对象 struct file 是在内核空间中创建的用于描述文件的结构体 每当一个文件被打开时内核会为该文件创建一个对应的 struct file 结构体并在文件描述符表中为其分配一个文件描述符。 基于文件的定义文件 内容 属性struct file 结构体包含了文件的各种属性文件的操作方法指向文件缓冲区的指针。 修改文件属性可以直接操作struct file的成员实现。 修改文件内容需要通过指向文件缓冲区的指针来操作。而缓冲区是内存中的一块区域用于暂时存放文件的数据。当文件被读写时数据被加载到缓冲区中进行进一步的操作。 如何读写文件 进程读取文件数据时首先需要将文件从磁盘加载到 struct file 结构体的缓冲区中。 进程写入数据到文件时首先需要将目标文件的数据加载到缓冲区中。然后进程在缓冲区中对数据进行修改或追加操作。之后缓冲区中的数据会被刷入磁盘。 数据读写的本质是缓冲区与磁盘之间的数据交换。读取操作将磁盘中的数据拷贝到缓冲区而写入操作则将缓冲区中的数据拷贝回磁盘。 文件描述符在文件描述符表中的分配规则 找到最小的没有被使用的下标分配给打开的文件使用。 如果一个文件被分配的文件描述符为3将这个文件close之后3这个文件描述符就被释放新打开一个文件新打开的文件就会被分配文件描述符3. int main() {int fdopen(file1, O_RDONLY); printf(%d\n,fd); //file1的文件描述符为3close(fd); //关闭file1int fdopen(file2, O_RDONLY); printf(%d\n,fd); //立刻打开另一个文件该文件被分配文件描述符3close(fd);return 0; } 输出重定向初步解析 重定向的本质是将数据输出目标从默认的输出设备通常是显示器重定向输出到指定的文件中。这可以通过对比 printf 和 fprintf 函数的行为来验证。 C 语言提供了两个常用的输出函数printf 和 fprintf。printf 用于将数据输出到标准输出通常是显示器而 fprintf 则用于将数据输出到指定的文件。 两个函数的本质都是向指定的文件描述符表的下标位置写入数据。printf 默认将数据写入到文件描述符表的下标 1stdout即标准输出流显示器。而 fprintf 则允许指定目标文件通过传递不同的 FILE* 参数来决定数据写入到哪个文件中。 重定向的实现可以通过关闭标准输出文件描述符并重新打开一个新的文件来完成。具体来说使用 close(1) 关闭文件描述符表下标 1 处的显示器文件然后打开一个新文件。此时操作系统会将该新文件分配给下标 1。因此后续调用 printf 时数据将不再输出到显示器而是写入到新打开的文件中。 注意当数据被输出到文件时缓冲区机制仍然起作用。要确保数据及时写入文件可以使用 \n 触发缓冲区刷新或者调用 fflush 函数强制刷新缓冲区将数据立即写入到文件中。 int printf(const char *format, ...); //...表示参数列表 int fprintf(FILE *stream, const char *format, ...); echo 内容 [文件描述符] //重定向到指定文件描述符表指定下标文件中 echo Hello, World! 1 //将字符串重定向到文件描述符表下标1的文件 21 //将2文件描述符的内容重定向到1指向的文件中 ./file 1log.txt 2err.txt //将file程序运行的结果从显示器重定向到log.txt将file运行的错误信息重定向到err.txt。不要加空格 dup2实现复制文件描述符 系统接口原型如下 int dup2(int oldfd, int newfd); 将newfd下标指向oldfd下标处的文件使得两个文件描述符指向同一个文件。 如果newfd下标已经指向一个打开的文件首先关闭这个文件再指向oldfd处的文件。之后newfd和oldfd会指向同一个文件。 多个文件描述符同时指向一个文件释放其中一个或几个文件描述符并不会直接关闭文件。在struct file中有一个引用计数器用于记录当前有多少个文件描述符指向文该件。当使用 close 函数释放一个文件描述符后该文件的引用计数器会减一。如果引用计数器的值减少到 0操作系统会真正关闭该文件并释放与其相关的资源。
http://www.dnsts.com.cn/news/71595.html

相关文章:

  • 最好网站建设公司制作平台wordpress外贸站
  • 网站建设需要审批吗大型门户网站建设哪便宜
  • 企业网站建设产品设计书ps做网站时画布宽度
  • 石家庄建设集团有限公司网站微信公众号直接同步到wordpress
  • seo查询官方网站商城网站建设公司
  • 简述网站建设的一般流程网站开发外文期刊网
  • 网站建设保密网站栏目页关键词如何做
  • 网站建设实验小结介绍重庆网页设计
  • 惠州网站建设技术支持品牌宣传型网站有哪些
  • wordpress拿站纪念册设计制作公司
  • 网站开发需求单网站开发有哪些语言
  • 网站建设规划江苏中益建设官方网站
  • 佛山外贸建站郑州企业网站设计公司哪家好
  • 网站用后台更换图片哈尔滨seo建站
  • 网站建设要用到编程吗接推广网站
  • wps怎么做网站iis能建设网站吗
  • 一个网站制作流程网络游戏名
  • 做视频网站需要什么资质怎么做神马搜索排名seo
  • 成都企业做网站多少钱营销软文写作
  • 查工程中标信息哪个网站宜昌seo优化服务
  • 深圳网页网站设计织梦可以做英文网站吗
  • 网站建设实施计划企业网站建设多少钱
  • 小门户网站模板美食网页设计模板国内版
  • 建设专业网站哪家更专业大都会app官网下载
  • .net网站开发软件海南省建设网站的公司电话
  • 北京网站推广技巧模版网站好吗
  • 营销型企业网站建设哪家好cetos做网站
  • 建站行业现状大连软件公司排行
  • 中科汇联网站建设手册网站建站方案说明书
  • 家居网站建设全网营销企业网站建设需注意什么