- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验5Linux文件操作之带缓存和非缓冲文件的读写
实验5Linux文件操作之带缓存和非缓冲文件的读写学生姓名:王祥真学号:6103114095专业班级:计科143实验类型:□ 验证?综合 □ 设计 □ 创新实验日期:2017.4.20实验成绩:一.实验目的通过编写文件读写及上锁的程序,进一步熟悉 Linux 中文件 I/O 相关的应用开发, 并且熟练掌握 open()、read()、write()、fcntl()等函数的使用。二.实验内容1.用write, read, open等系统调用编写分别实现如下功能的程序(要求进行必要的出错检查):(1)创建一个文件testfile.txt,文件内容从键盘输入;(2)将testfile.txt的内容显示在屏幕上,并将testfile.txt的内容复制到一个新的文件file2.txt中。实验代码:#includeunistd.h#includesys/types.h#includesys/stat.h#includefcntl.h#includestdio.h#includestdlib.h#includestdio.h#includestring.hint main(){ int fd, fdsrc,fddes,nbytes; int newret ,n1,n2; int flags=O_CREAT | O_TRUNC | O_WRONLY; char src[50],des[30],buf[30]; char str1[60]; char str2[60]; strcat(str1,cat ); printf(请输入要创建的源文件名字); scanf(%s,src); fd=creat(src,S_IRUSR|S_IWUSR); //创建源文件 n1=read(STDIN_FILENO,buf,80); if(n10){ perror(read STDIN_FILENO); exit(1); } fdsrc=open(src,flags,0644); //以读写方式打开 if(fdsrc0){ exit(1); } write(fdsrc,buf,n1);//写入 printf(输出刚创建源文件的内容\n); strcat(str1,src);//cat src; newret=system(str1);//执行命令 close(fdsrc);// 关闭指针 printf(请输入目标文件名: ); scanf(%s,des); fd=creat(des,S_IRUSR|S_IWUSR); fdsrc=open(src,O_RDONLY); if(fdsrc0){ exit(1); } fddes=open(des,flags,0744); if(fddes0){ exit(1); } while((nbytes=read(fdsrc,buf,20))0){ int z=write(fddes,buf,nbytes); if(z0){ perror(写文件出错); } } close(fdsrc); close(fddes); printf(复制%s文件到%s文件成功!\n,src,des); return 0;}实验结果:2. 在 Linux 中 FIFO 是一种进程之间的管道通信机制。Linux 支持完整的 FIFO通信 机制。 本实验内容,通过使用文件操作,仿真 FIFO(先进先出)结构以及生产者-消费者运行模型。 本实验中需要打开两个虚拟终端,分别运行生产者程序(producer)和消费者程序(customer)。此时两个进程同时对同一个文件进行读写操作。因为这个文件是临界资源,所以可以使用文件锁机制来保证两个进程对文件的访问都是原子操作。 先启动生产者进程,它负责创建仿真 FIFO 结构的文件(其实是一个普通文件)并投入生产,就是按照给定的时间间隔,向 FIFO 文件写入自动生成的字符(在程序中用宏定义选择使用数字还是使用英文字符),生产周期以及要生产的资源数通过参数传递给进程(默认生产周期为 1s,要生产的资源数为 10 个字符)。 后启动的消费者进程按照给定的数目进行消费,首先从文件中读取相应数目的字符并在屏幕上显示,然后从文件中删除刚才消费过的数据。为了仿真 FIFO 结构,此时需要使用两次复制来实现文件内容的偏移。每次消费的资源数通过参数传递给进程,默认值为10 个字符。 三.实验环境PC微机Wind
您可能关注的文档
- 增城市2012-2013学年第二学期八年级思想品德期末考试题.doc
- 基于HadoopHbase的Android手机拍照购物系统设计(初稿).doc
- 壮美黄果树共圆黔中梦网络手机摄影比赛.doc
- 处理投诉处理技巧秘籍.docx
- 复旦大学2016年研究生招生目录.docx
- 复式记账的概念与借贷记账法的账户结构.doc
- 夏季妇科病高发多吃黄色水果防妇科病.docx
- 夏新手机校园市场营销策划方案.doc
- 夏洛特柏金斯吉尔曼《黄色墙纸》中的象征手法.doc
- 外国文学目录.doc
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
最近下载
- 实验室安全和保证人员健康程序.docx VIP
- 2025四川攀枝花市第十二中学校直接考核招聘编外艺体培训导师20人笔试备考试题及答案解析.docx VIP
- 课程思政教学竞赛说课稿《电机与电气控制技术》.pptx VIP
- 检查更换油井油嘴.ppt
- 人教版三年级数学下册思维训练应用题(含答案).pdf VIP
- GB 10068-2008 轴中心高为56 mm及以上电机的机械振动.pdf
- 国企招聘党群岗笔试试题及答案.pdf VIP
- 00015-英语二-第三单元课后答案及参考译文.docx VIP
- 2024年云南省《辅警招聘考试必刷500题》考试题库附完整答案.pdf VIP
- 4s店财务经理述职报告7篇.docx
文档评论(0)