一【实验目的】
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;
【源程序】
#include<stdio.h>
#include<fcntl.h>
#include<sys/types.h>
#include<unistd.h>
typedef struct _subject{
char sno[20];
char name[20];
float chinese;
float math;
float english;
}subject;
int main(){
subject m;
int fd=open("data",O_WRONLY|O_TRUNC,0777);
for(int i=0;i<5;i++){
printf("该学生的学号为:\n");
scanf("%s",m.sno);
printf("该学生的姓名为:\n");
scanf("%s",m.name);
printf("该学生的语文成绩为:\n");
scanf("%f",&m.chinese);
printf("该学生的数学成绩为:\n");
scanf("%f",&m.math);
printf("该学生的英语成绩为:\n");
scanf("%f",&m.english);
write(fd,(void*)&m,sizeof(subject));
}
close(fd);
return 0;
}
3-2.在Linux环境下,