怎么将上述代码中录入的学生数据存储到Studata.txt中?
时间: 2024-04-12 17:33:17 浏览: 10
要将录入的学生数据存储到文件中,可以使用文件操作函数来实现。下面是一种实现方法:
```c
#include <stdio.h>
typedef struct //定义学生结构体
{
int num;
char name[10];
char sex[10];
struct
{
int year;
int month;
int day;
} Date;
char college[20];
char clas[20];
char phone[20];
} stu;
stu students[100];
int main()
{
stu newStudent;
printf("请输入学号:");
scanf("%d", &newStudent.num);
printf("请输入姓名:");
scanf("%s", newStudent.name);
printf("请输入性别:");
scanf("%s", newStudent.sex);
printf("请输入生日(年):");
scanf("%d", &newStudent.Date.year);
printf("请输入生日(月):");
scanf("%d", &newStudent.Date.month);
printf("请输入生日(日):");
scanf("%d", &newStudent.Date.day);
printf("请输入院系:");
scanf("%s", newStudent.college);
printf("请输入班级:");
scanf("%s", newStudent.clas);
printf("请输入电话号码:");
scanf("%s", newStudent.phone);
FILE *file = fopen("Studata.txt", "a"); // 打开文件,以追加模式写入
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
fprintf(file, "%d %s %s %d %d %d %s %s %s\n", newStudent.num, newStudent.name, newStudent.sex,
newStudent.Date.year, newStudent.Date.month, newStudent.Date.day,
newStudent.college, newStudent.clas, newStudent.phone);
fclose(file); // 关闭文件
printf("学生信息录入成功!\n");
return 0;
}
```
通过使用`fopen`函数打开一个名为`Studata.txt`的文件,并指定以追加模式("a")写入。然后,使用`fprintf`函数将学生信息写入文件中,格式与之前的输出保持一致。最后,使用`fclose`函数关闭文件。
这样,每次运行程序时,录入的学生数据都会追加写入到`Studata.txt`文件中。