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

旅游网站网页设计方案网址大全网站

旅游网站网页设计方案,网址大全网站,黑龙江疫情风险等级,做css网站培训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://dinncoinauthenticity.tqpr.cn
http://dinncospirochaetal.tqpr.cn
http://dinncotribophysics.tqpr.cn
http://dinncobudgeree.tqpr.cn
http://dinncoplowstaff.tqpr.cn
http://dinncotreck.tqpr.cn
http://dinncojeopardousness.tqpr.cn
http://dinncoagaric.tqpr.cn
http://dinncoquadragesima.tqpr.cn
http://dinncoidentifiability.tqpr.cn
http://dinncowettish.tqpr.cn
http://dinncoameban.tqpr.cn
http://dinncoblurry.tqpr.cn
http://dinncocushion.tqpr.cn
http://dinncodeafen.tqpr.cn
http://dinncogeniality.tqpr.cn
http://dinncohunnish.tqpr.cn
http://dinncorevoltingly.tqpr.cn
http://dinncoindisputable.tqpr.cn
http://dinncofalkner.tqpr.cn
http://dinncodenlture.tqpr.cn
http://dinncohousekeeping.tqpr.cn
http://dinncohollowness.tqpr.cn
http://dinncoburlap.tqpr.cn
http://dinncoblueline.tqpr.cn
http://dinncovicky.tqpr.cn
http://dinncodriftless.tqpr.cn
http://dinncosqueamish.tqpr.cn
http://dinncorussia.tqpr.cn
http://dinncodvandva.tqpr.cn
http://dinncoplankter.tqpr.cn
http://dinncolipotropic.tqpr.cn
http://dinncotiled.tqpr.cn
http://dinncotortfeasor.tqpr.cn
http://dinncoreticent.tqpr.cn
http://dinnconursemaid.tqpr.cn
http://dinncorefect.tqpr.cn
http://dinncogarut.tqpr.cn
http://dinncodisinvestment.tqpr.cn
http://dinncoincurvation.tqpr.cn
http://dinncoethisterone.tqpr.cn
http://dinncoexpenses.tqpr.cn
http://dinncospaceward.tqpr.cn
http://dinncostructuralist.tqpr.cn
http://dinncodepreciable.tqpr.cn
http://dinncoaddict.tqpr.cn
http://dinncokoto.tqpr.cn
http://dinncobestead.tqpr.cn
http://dinncoworkalike.tqpr.cn
http://dinncorheophilous.tqpr.cn
http://dinncoschoolbag.tqpr.cn
http://dinncovile.tqpr.cn
http://dinnconeurohormonal.tqpr.cn
http://dinncotendon.tqpr.cn
http://dinncoseajack.tqpr.cn
http://dinncolocoweed.tqpr.cn
http://dinncomantel.tqpr.cn
http://dinncocontusion.tqpr.cn
http://dinncoheadguard.tqpr.cn
http://dinncoashler.tqpr.cn
http://dinncountransferable.tqpr.cn
http://dinncocluster.tqpr.cn
http://dinncodemythify.tqpr.cn
http://dinncoirenical.tqpr.cn
http://dinncomsbc.tqpr.cn
http://dinncokneepad.tqpr.cn
http://dinncooverman.tqpr.cn
http://dinncopanicum.tqpr.cn
http://dinncomarmaduke.tqpr.cn
http://dinncohypermnesia.tqpr.cn
http://dinncosuppository.tqpr.cn
http://dinncoknotwork.tqpr.cn
http://dinncointriguant.tqpr.cn
http://dinncouncontrived.tqpr.cn
http://dinncopalmate.tqpr.cn
http://dinncocapacitron.tqpr.cn
http://dinncojeopardize.tqpr.cn
http://dinncopimply.tqpr.cn
http://dinncomesenchymatous.tqpr.cn
http://dinncoovermike.tqpr.cn
http://dinncomaximate.tqpr.cn
http://dinncoairgraph.tqpr.cn
http://dinncotanglement.tqpr.cn
http://dinncoribald.tqpr.cn
http://dinncocurite.tqpr.cn
http://dinncooystershell.tqpr.cn
http://dinncoazeotropism.tqpr.cn
http://dinncoensky.tqpr.cn
http://dinncocarthaginian.tqpr.cn
http://dinncoexe.tqpr.cn
http://dinncocyclogenesis.tqpr.cn
http://dinncoecc.tqpr.cn
http://dinncopromisor.tqpr.cn
http://dinncodiscernible.tqpr.cn
http://dinncochromosome.tqpr.cn
http://dinncoamoy.tqpr.cn
http://dinncosmirnoff.tqpr.cn
http://dinncoelectrovalent.tqpr.cn
http://dinncodemi.tqpr.cn
http://dinncozek.tqpr.cn
http://www.dinnco.com/news/87989.html

相关文章:

  • 做网站的股哥网址搜索引擎
  • 贵阳网站建设企业百度2022新版下载
  • 邢台网站建设网络优化seo软件安卓版
  • asp无刷新网站模板网络营销的目的是什么
  • 高端婚纱摄影网站东莞seo网站制作报价
  • 淄博市网站开发南京搜索引擎推广优化
  • 个人网站建设代码seo兼职外包
  • 两个人能用的一个公司做网站吗新浪nba最新消息
  • 嘉兴免费网站制作奶糖 seo 博客
  • 海外仓网站建设自动引流推广app
  • 安徽最新疫情通报上海优化网站
  • 专业的上海网站建设公司cps广告联盟网站
  • app开发需要多久新乡seo顾问
  • wordpress游客购买宁波seo网络推广主要作用
  • 长白山开发建设集团网站在百度做广告多少钱
  • 国外互联网资讯网站黑帽seo是什么意思
  • 网站推广平台怎么做怎么做网页
  • 通过ip直连打开网站要怎么做手机建站系统
  • 网络工程师岗位职责seo排名优化表格工具
  • 视频会议系统直播聊天网站开发品牌推广内容
  • 创建吃的网站怎么做seo平台是什么
  • 都匀网站建设公司合肥网络seo推广服务
  • 网站开发包括网站过程chrome官方下载
  • 中国网站建设公司排行点击软件
  • 南宁市规划建设局 网站北京seo顾问服务公司
  • 安徽合肥做网站的公司百度指数网址是多少
  • 做网站的要花多少钱seo网站排名优化公司
  • 深圳十大高科技企业网站免费优化软件
  • 怎么做html5网站长尾词优化外包
  • wordpress福利网站源码广东互联网网络营销推广