一【实验目的】
1.掌握文件或目录属性信息的函数stat()函数的使用;
2.掌握目录操作的函数opendir 函数和readdir函数的使用;
3.编写程序mysearch.c递归实现打印输出任意目录下,指定类型的所有文件,如:./mysearch /home/temp *.c。
二【实验要求】
以下每个实验均要求:
1.“实验源代码”处:粘贴所编写的程序源码,务必添加关键语句的注释;
2.“实验结果”:截图(包括编写的程序和运行结果)粘贴到“实验结果”下方,截图需看到本人的名字及学号;
3.有“讨论”的题目,请务必认真回答;
三【实验内容】
3-1. 调用Unix I/O库函数,编写程序task42.c,从键盘读入5个学生的成绩信息,包括学号、姓名、语文、数学、英语,成绩允许有一位小数,存入一个结构体数组,结构体定义为:
typedef struct _subject {
char sno[20]; //学号
char name[20]; //姓名
float chinese; //语文成绩
float math; //数学成绩
float english; //英语成绩
} subject;
【源程序】
3-2.在Linux环境下,可以调用库函数gettimeofday测量一个代码段的执行时间,请写一个程序task43.c,测量read、write、fread、fwrite函数调用所需的执行时间,并与prof/gprof工具测的结果进行对比,看是否基本一致。并对四个函数的运行时间进行对比分析。
提示:由于一次函数调用时间太短,测量误差太多,应测量上述函数多次(如10000次)运行的时间,结果才会准确。
【源程序】
3-3.编写程序2_3.c,实现显示任意指定目录下的文件属性信息
【源程序】
3-4.建立2_4.c文件,使用opendir()函数和readdir()函数,实现显示任意目录下所有文件及目录名称。
【源程序】
3-5. 编写程序mysearch.c递归实现打印输出任意目录下,指定类型的所有文件,如:./mysearch /home/temp *.c
【源程序】