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

网站建设是前端的吗齐三seo顾问

网站建设是前端的吗,齐三seo顾问,网站制作 语言选择怎么做,郑州网站优化网络建设有限公司2.文件IO **1. 文件I/O概述****2. 文件I/O函数接口****3. 文件定位****4. 文件描述符与文件流指针的转换****5. 文件I/O与标准I/O的比较****6. 练习与作业****7. 文件I/O与标准I/O的对应关系****8. 其他注意事项****9. 总结** 1. 文件I/O概述 文件I/O:操作系统为了…

2.文件IO

      • **1. 文件I/O概述**
      • **2. 文件I/O函数接口**
      • **3. 文件定位**
      • **4. 文件描述符与文件流指针的转换**
      • **5. 文件I/O与标准I/O的比较**
      • **6. 练习与作业**
      • **7. 文件I/O与标准I/O的对应关系**
      • **8. 其他注意事项**
      • **9. 总结**


1. 文件I/O概述

  • 文件I/O:操作系统为了方便用户使用系统功能而提供的一组系统函数,称为系统调用。文件I/O是其中的一部分。
  • 特性
    • 没有缓存区。
    • 操作对象是文件描述符(int类型),而不是流(FILE*)。
    • 文件描述符是一个很小的非负整数(0-1023),内核每打开一个文件就会分配一个文件描述符。
  • 默认文件描述符
    • 0STDIN_FILENO(标准输入,对应stdin)。
    • 1STDOUT_FILENO(标准输出,对应stdout)。
    • 2STDERR_FILENO(标准错误,对应stderr)。

2. 文件I/O函数接口

  • open
    • 函数原型:int open(const char *pathname, int flags, int mode);
    • 功能:打开文件并返回文件描述符。
    • 参数:
      • pathname:文件名。
      • flags:打开文件的模式(如O_RDONLYO_WRONLYO_RDWR等)。
      • mode:文件权限(如0666)。
    • 返回值:成功返回文件描述符,失败返回-1
  • write
    • 函数原型:ssize_t write(int fd, const void *buf, size_t count);
    • 功能:向文件中写入数据。
    • 参数:
      • fd:文件描述符。
      • buf:要写入的数据缓冲区。
      • count:要写入的字节数。
    • 返回值:成功返回实际写入的字节数,失败返回-1
  • read
    • 函数原型:ssize_t read(int fd, void *buf, size_t count);
    • 功能:从文件中读取数据。
    • 参数:
      • fd:文件描述符。
      • buf:存放读取数据的缓冲区。
      • count:要读取的字节数。
    • 返回值:成功返回实际读取的字节数,失败返回-1,读到文件末尾返回0
  • close
    • 函数原型:int close(int fd);
    • 功能:关闭文件描述符。
    • 返回值:成功返回0,失败返回-1

3. 文件定位

  • lseek
    • 函数原型:off_t lseek(int fd, off_t offset, int whence);
    • 功能:移动文件指针。
    • 参数:
      • fd:文件描述符。
      • offset:偏移量(正数向后偏移,负数向前偏移)。
      • whence:起始位置(SEEK_SETSEEK_CURSEEK_END)。
    • 返回值:成功返回偏移量,失败返回-1
  • lseek与fseek的区别
    • lseek不支持O_APPEND模式,无法生成空洞文件。
    • lseek在设备文件上偏移无效。

4. 文件描述符与文件流指针的转换

  • fileno
    • 函数原型:int fileno(FILE *stream);
    • 功能:将文件流指针(FILE*)转换为文件描述符(int)。
    • 返回值:成功返回文件描述符,失败返回-1
  • fdopen
    • 函数原型:FILE *fdopen(int fd, const char *mode);
    • 功能:将文件描述符(int)转换为文件流指针(FILE*)。
    • 参数:
      • fd:文件描述符。
      • mode:打开模式(如"r""w"等)。
    • 返回值:成功返回文件流指针,失败返回NULL

5. 文件I/O与标准I/O的比较

  • 文件I/O
    • 无缓存,直接操作文件描述符。
    • 适用于底层设备开发,效率和安全性较低。
  • 标准I/O
    • 有缓存,操作对象是文件流指针(FILE*)。
    • 适用于上层开发,效率高且移植性好。

6. 练习与作业

  • 练习1:使用文件I/O测试无缓存特性,验证终端和文件的直接读写。
  • 练习2:封装一个简单的printf函数,支持缓存和直接输出。
  • 作业1:使用文件I/O完成两个文件的比较功能,测试文件是否相等。
  • 作业2:使用文件I/O向终端输出100以内的所有偶数。

7. 文件I/O与标准I/O的对应关系

标准I/O文件I/O
fopenopen
fputc / fgetcwrite / read
fputs / fgetswrite / read
fwrite / freadwrite / read
fcloseclose
fseeklseek
ftelllseek
rewindlseek(fd, 0, SEEK_SET)

8. 其他注意事项

  • 文件描述符的最大值:1024(范围0-1023),可通过ulimit -a查看。
  • 阻塞与非阻塞
    • 阻塞:程序因某种条件未触发而暂停执行。
    • 非阻塞:程序继续执行,不等待条件触发。

9. 总结

文件I/O是操作系统提供的底层接口,适用于设备相关的开发。与标准I/O相比,文件I/O没有缓存,操作对象是文件描述符。通过openreadwriteclose等函数可以实现文件的读写操作。文件I/O与标准I/O各有优缺点,开发时应根据需求选择合适的I/O方式。

http://www.zhongyajixie.com/news/50601.html

相关文章:

  • 锦州如何做百度的网站做百度推广效果怎么样
  • 做代购注册什么网站网址搜索
  • 学室内设计真的那么惨吗seo搜索规则
  • 网站开发建设费用明细福州关键词排名软件
  • 网站名称注册保护营销推广渠道有哪些
  • 做网站什么科目网站制作公司官网
  • 重庆做网站电话北京疫情最新新闻
  • 找什么样的公司帮助做网站专业排名优化工具
  • 做旅游广告在哪个网站做效果好seo免费课程
  • 网站分页设计作用域名官网
  • 建信金融科技有限责任公司百度词条优化工作
  • 衡器行业网站建设模板深圳网络推广建站
  • 永久免费网站建设系统市场调研报告总结
  • 聊城网站优化公司朋友圈推广怎么收费
  • 平顶山市湛河区建设局网站如何做网站关键词优化
  • phpcms网站title网站视频播放代码
  • 个人开店做外贸网站菏泽百度推广公司电话
  • 网站策划岗位职责槐荫区网络营销seo
  • dw怎么做班级网站谷歌seo优化推广
  • 合肥论坛百度搜索关键词优化方法
  • 建设工程网站资质人员查询百度搜索下载安装
  • 网站设计模式有哪些网页设计与制作
  • 怎么做家庭网站网站建设案例
  • 提高景区网站建设网络营销成功案例ppt
  • 网站建设qianhaiyou企业邮箱入口
  • 哪家网站建设最好北京百度竞价
  • 网站建设管理软件新品牌推广方案
  • wordpress赌博关于华大18年专注seo服务网站制作应用开发
  • 一个真正的网站需要怎么做网站开发流程的8个步骤
  • 个人网站备案查询seo关键词排优化软件