西安邮电大学linux mv,pass实验报告

发布时间 : 星期二 文章西安邮电大学linux mv,pass实验报告更新完毕开始阅读

西 安 邮 电 大 学

(计算机学院)

课内实验报告

实验名称: LINUX实验

专业名称: 班 级: 学生姓名:

软件工程 1202班 刘琰

学号(8位): 指导教师:

04123055

黄 茹

实验日期: 2014年10月8日

一. 实验目的及实验环境

实验环境:ubuntu

实验目的:熟悉文件的各功能。

二. 实验内容

(1)利用本章所学posix io系统调用实现mv命令的功能。

(2)设计一个程序,要求打开文件“pass”,如果没有这个文件,新建此文件;读取系统文件“/etc/passwd”,把文件中的内容都写入“pass”文件。 (3)用creat、open、close等系统调用,实现fopen、fclose的功能。

三.方案设计

熟悉文件各功能,掌握mv命令。根据实验内容进行编写程序。 //pass

#include #include #include #include #include

main(int argc, char * argv[]) { int fd_src,fd_des; char buf[128]; int num;

if(argc!=3) {

printf(\ exit(EXIT_FAILURE); }

if((fd_src=open(argv[1],O_RDONLY))==-1) { perror(\

exit(EXIT_FAILURE); }

if((fd_des=open(argv[2],O_CREAT|O_EXCL|O_WRONLY,0644))==-1) { //fd_des=open(argv[2],O_WRONLY|O_TRUNC) perror(\

exit(EXIT_FAILURE); } do { num=read(fd_src,buf,128); write(fd_des,buf,num); }while(num==128); close(fd_src);

close(fd_des);} //mv

#include #include #include #include #include #include

main(int argc, char * argv[]) { int fd_src,fd_des; char buf[128]; int num;

if(argc!=3) {

printf(\ exit(EXIT_FAILURE); }

if((fd_src=open(argv[1],O_RDONLY))==-1) { perror(\

exit(EXIT_FAILURE); }

if((fd_des=open(argv[2],O_CREAT|O_EXCL|O_WRONLY,0644))==-1) {

//fd_des=open(argv[2],O_WRONLY|O_TRUNC) perror(\

exit(EXIT_FAILURE); } do { num=read(fd_src,buf,128); write(fd_des,buf,num); }while(num==128); unlink (argv[1]); close(fd_src); close(fd_des);}

四.测试数据及运行结果

1. 正常测试数据(3组)及运行结果;

2. 非正常测试数据(2组)及运行结果。

五.总结

一定要对老师讲的知识要进行及时的复习,巩固,这样才能更灵活的运用知识。 六.附录:源代码(电子版)

联系合同范文客服:xxxxx#qq.com(#替换为@)