如题,利用文件IO和C语言标准库完成,不能使用标准IO。
没有思路,提供思路也可以,请讲的通俗易懂一点,谢谢!
大概这样子,保存和读取。
#include <stdio.h>
#include <string.h>
typedef struct stu
{
int id;
char name[10];
} Stu;
void save(Stu *s, int len)
{
char filename[100] = {0};
for (int i = 0; i < len; i++)
{
sprintf(filename, "%d.data", s[i].id);
FILE *fp = fopen(filename, "w");
if (fp)
{
fwrite(&s[i], sizeof(s[i]), 1, fp);
fclose(fp);
}
}
}
void read(Stu *stu, int id)
{
char filename[100] = {0};
sprintf(filename, "%d.data", id);
FILE *fp = fopen(filename, "r");
if (fp)
{
fread(stu, sizeof(*stu), 1, fp);
fclose(fp);
}
}
void print(Stu *s)
{
if (s)
printf("%-10d%s\n", s->id, s->name);
}
int main()
{
Stu stu[3] = {{1001, "aaa"}, {1002, "bbb"}, {1003, "ccc"}};
save(stu, 3);
Stu s;
read(&s, 1002);
print(&s);
return 0;
}