在VS中编写以下代码,定义一个学生(Student)结构体类型,学号num,姓名name,性别sex,年龄age,采用fputs和fgets函数将信息写入到student.dat文件中,然后读取文件在屏幕中显示出来。
时间: 2024-02-23 15:59:06 浏览: 85
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
以下是您需要编写的代码:
```c++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 50
// 定义学生结构体类型
typedef struct {
int num;
char name[MAX_LEN];
char sex[MAX_LEN];
int age;
} Student;
int main() {
Student stu;
FILE *fp;
// 打开 student.dat 文件,如果不存在则新建
if ((fp = fopen("student.dat", "wb+")) == NULL) {
printf("Cannot open file.\n");
exit(1);
}
// 写入学生信息
printf("Enter student number: ");
scanf("%d", &stu.num);
printf("Enter student name: ");
scanf("%s", stu.name);
printf("Enter student sex: ");
scanf("%s", stu.sex);
printf("Enter student age: ");
scanf("%d", &stu.age);
fputs("Student Information:\n", fp);
fprintf(fp, "Number: %d\n", stu.num);
fprintf(fp, "Name: %s\n", stu.name);
fprintf(fp, "Sex: %s\n", stu.sex);
fprintf(fp, "Age: %d\n", stu.age);
// 重新定位文件指针到文件开头
rewind(fp);
// 从文件中读取学生信息并显示在屏幕上
char buf[MAX_LEN];
while (fgets(buf, MAX_LEN, fp) != NULL) {
printf("%s", buf);
}
// 关闭文件
fclose(fp);
return 0;
}
```
该代码定义了一个名为 `Student` 的结构体类型,包含学号、姓名、性别和年龄四个成员变量。然后使用 `fopen` 函数打开一个名为 `student.dat` 的文件,并使用 `fputs` 函数将学生信息写入文件中。接着,使用 `rewind` 函数将文件指针重新定位到文件开头,并使用 `fgets` 函数从文件中读取学生信息并在屏幕上显示。最后,使用 `fclose` 函数关闭文件。
阅读全文