欢迎来到天天文库
浏览记录
ID:20199177
大小:1.17 MB
页数:37页
时间:2018-10-09
《实验报告_图文》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、电子科技大学信息与软件工程学院实验报告学号2015220302021姓名李彦涛(实验)课程名称编译技术理论教师肖堃实验教师肖堃电子科技大学实验报告学生姓名:李彦涛学号:2015220302021指导教师:肖堃实验地点:沙河信软楼503实验时间:16.10.11一、实验名称:文件I/O实验二、实验学时:4三、实验目的:掌握POSIX与ANSIC文件I/O操作方法1.打开文件、关闭文件、创建文件2.读写文件3.定位文件四、实验原理:五、实验内容:利用POSIXAPI和文件属性解析的相关宏编程实现ls–l命令
2、一、实验器材(设备、元器件):PC机一台二、实验步骤:获取当前工作路径读取目录文件读取文件属性打印相关信息#include#include#include#include#include#include#include#include#include#include#include#inclu
3、de//判断文件类型voidprint_type(mode_tmode){if(S_ISREG(mode))//普通printf("-");elseif(S_ISDIR(mode))printf("d");//目录elseif(S_ISCHR(mode))printf("c");//字符设备elseif(S_ISBLK(mode))printf("b");//块设备elseif(S_ISFIFO(mode))printf("p");//命名管道elseif(S_ISLNK(mode))
4、printf("l");//符号连接elseif(S_ISSOCK(mode))printf("s");//套接字}//判断权限voidprint_perm(mode_tmode){//用户if(mode&S_IRUSR)printf("r");elseprintf("-");if(mode&S_IWUSR)printf("w");elseprintf("-");if(mode&S_IXUSR)printf("x");elseprintf("-");//用户组if(mode&S_IRGRP)printf
5、("r");elseprintf("-");if(mode&S_IWGRP)printf("w");elseprintf("-");if(mode&S_IXGRP)printf("x");elseprintf("-");//其他if(mode&S_IROTH)printf("r");elseprintf("-");if(mode&S_IWOTH)printf("w");elseprintf("-");if(mode&S_IXOTH)printf("x");elseprintf("-");}//硬链接数v
6、oidprint_link(nlink_tnlink){printf("%ld",nlink);}//所属用户名voidprint_usrname(uid_tuid,structpasswd*pw){pw=getpwuid(uid);printf("%s",pw->pw_name);}//所属组名voidprint_grname(gid_tgid,structgroup*gr){gr=getgrgid(gid);printf("%s",gr->gr_name);}//文件大小voidprint_file
7、size(off_tsize){printf("%7d",(int)size);}//最后修改时间voidprint_time(time_tmtime,structtm*t){//inti;//p_time=ctime(&mtime);//for(i=0;p_time[i]!=0&&p_time[i]!='';i++)//putchar(p_time[i]);//printf("");t=localtime(&mtime);printf("%d-%d-%d%d:%d",t->tm_year+1900
8、,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min);}//文件名voidprint_filename(char*name){printf("%s",name);}intmain(intargc,charconst*argv[]){charbuf[500];DIR*currentdir=NULL;structdirent*currentdp=NULL;structstatcurrentstat;st
此文档下载收益归作者所有