发布时间 : 星期二 文章西安邮电大学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
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
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组)及运行结果。
五.总结
一定要对老师讲的知识要进行及时的复习,巩固,这样才能更灵活的运用知识。 六.附录:源代码(电子版)