实验七文件管理(二).docx

实验七文件管理(二).docx

ID:62185077

大小:15.29 KB

页数:6页

时间:2021-04-20

实验七文件管理(二).docx_第1页
实验七文件管理(二).docx_第2页
实验七文件管理(二).docx_第3页
实验七文件管理(二).docx_第4页
实验七文件管理(二).docx_第5页
资源描述:

《实验七文件管理(二).docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验七文件管理(二)湖北产业年夜教工程手艺教院真验呈报课程称号:操纵体系真验内容:真验7文件办理(2)教院:工程手艺教院业余班级:11gb硬件2班先生:贺白素成就:一、真验目标1、把握Linux文件体系的基础本理、布局以及真现的圆法。2、把握Linux文件体系中文件的创建、挨开、读写、实行、属性等体系挪用的利用2、相干函数1、intcreat(constchar*filename,mode_tmode)mode:创立形式(指定文件的属性)能够曲接用数字暗示文件的会见权限filename:要创立的文件名(包孕途径,缺省为以后途径)2、intopen(constch

2、ar*pathname,intflags)intopen(constchar*pathname,intflags,mode_tmode)pathname:要挨开的文件名flags:挨开标记O_RDONLY只读圆式挨开O_WRONLY只写圆式挨开O_RDWR读写圆式挨开O_APPEND逃减圆式挨开O_CREATE创立一个文件O_NOBLOCK非组塞圆式挨开当利用O_CREATE标记时,则利用第2个函数,即3个参数的。必要利用mode去指定文件的会见权限。3、文件闭闭intclose(intfd)fd:文件形容符(挨开文件时,由体系分派)4、intread(intf

3、d,constvoid*buf,size_tlength)从文件形容符fd所指背的文件中读与length个字节到buf所指背的缓冲区中,前往值为真际读与的字节数。5、intwrite(intfd,constvoid*buf,size_tlength)把length个字节从buf指背的缓冲区中写到文件形容符fd所指背的文件中,前往值为真际写进的字节数。6、intlseek(intfd,offset_toffset,intwhence)将文件读写指针相对于whence挪动offset个字节。操纵乐成时,前往文件指针相对于于文件头的地位。(能够使用lseek盘算文件少

4、度lseek(fd,0,SEEK_END))whence可用下列值形容:SEEK_SET:相对于文件开首SEEK_CUR:相对于文件读写指针确当前地位SEEK_END:相对于文件终尾offset可与背值,暗示背前挪动。3、真验步调1、编写一段C言语步伐,使其实现:对于用户输出的文件内容举行拷贝。比方用户输出:./copyaFilebFile,(假如宗旨文件名为copy)则将文件aFile的内容拷贝到文件bFile中。#include#includemain(intargc,char*argv[]){intfd1,fd2,n;charbuf[512];if(arg

5、c{printf("参数太少");exit(0);}if((fd1=open(argv[1],0)){printf("openerror");exit(0);}if((fd2=creat(argv[2],0644)){printf("createerror");exit(0);}n=read(fd1,buf,512);write(fd2,buf,n);close(fd1);close(fd2);}2、编写一段C言语步伐,使其实现:创立一个新文件,输出一段数据,而后随机挪动指针,接着拔出一段数据,实现后,检察该文件的年夜小以及内容。(步伐运转实现后,利

6、用ls–ltest下令能够隐示文件的真际年夜小,而后利用od–ctest下令隐示文件的内容)#include#includecharbuf1[]="abcde";charbuf2[]="12345";main(){intfd;if((fd=creat("test",0644)){printf("createfileerror");exit(0);}write(fd,buf1,5);lseek(fd,30,SEEK_SET);write(fd,buf2,5);close(fd);}3、浏览下列步伐,并运转,写出运转了局,并剖析步伐的功效。#include#in

7、cludemain(){intfd,a[10],i;for(i=0;ifd=creat(“abc”,0755);printf(“lock40bytesinparent…”);lockf(fd,1,40);printf(“…locked”);fflush(stdout);if(fork()==0){printf(“enterchild,write20bytes.”);write(fd,a,10);printf(“…writen.”);fflush(stdout);printf(“lock80bytesinchild…”);fflush(stdo

8、ut);lockf(fd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。