在C语言中,可以使用文件存储结构体数据。以下是一个简单的示例代码,演示如何将结构体数据写入文件并从文件中读取结构体数据:
#include <stdio.h>
#include <stdlib.h>
// 定义一个结构体
struct student {
char name[20];
int age;
float score;
};
int main() {
FILE *fp;
struct student stu;
int n;
// 写入结构体数据到文件
fp = fopen("", "w");
if (fp == NULL) {
printf("Failed to open file.
");
exit(1);
}c语言写入txt文件
printf("Enter the number of students: ");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("Enter name, age and score of student %d: ", i+1);
scanf("%s %d %f", stu.name, &stu.age, &stu.score);
fprintf(fp, "%s %d %.2f
", stu.name, stu.age, stu.score);
}
fclose(fp);
// 从文件中读取结构体数据
fp = fopen("", "r");
if (fp == NULL) {
printf("Failed to open file.
");
exit(1);
}
while (!feof(fp)) {
fscanf(fp, "%s %d %.2f", stu.name, &stu.age, &stu.score);
printf("Name: %s, Age: %d, Score: %.2f
", stu.name, stu.age, stu.score);
}
fclose(fp);
return 0;
}
在上面的代码中,我们首先定义了一个名为student的结构体,包含三个成员变量:name、age和score。然后,我们使用fopen()函数打开一个名为的文件,并以写入模式打开。如果打开文件失败,则输出错误信息并退出程序。接下来,我们使用scanf()函数从标准输入中读取学生数量,然后使用循环从标准输入中读取每个学生的姓名、年龄和分数,并将它们写入文件中。在写入数据时,我们使用fprintf()函数将结构体数据格式化为字符串,并逐个写入文件中。最后,我们使用fclose()函数关闭文件。
接下来,我们再次使用fopen()函数打开文件,并以读取模式打开。如果打开文件失败,则输出错误信息并退出程序。然后,我们使用一个while循环从文件中逐行读取数据,并使用fscanf()函数将每行数据解析为结构体变量。在读取数据时,我们使用printf()函数将每个学生的姓名、年龄和分数输出到标准输出中。最后,我们再次使用fclose()函数关闭文件。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论