运行代码结果正确,但是其中混杂一些奇怪的一串数字
//输出两个学生数据#include<stdio.h>
#define SIZE 2
typedef struct //typedef
{
char name;
int num;
int age;
char addr;
}student;
student stu;
void save()
{
FILE *fp;
int i;
if((fp = fopen("dat.txt","wb")) == NULL)
{
printf("无法打开此文件!\n");
return;
}
for(i = 0; i < SIZE; i++)
{
fwrite(&stu, sizeof(student), 1, fp);
}
fclose(fp);
}
void main()
{
int i;
for(i = 0; i < SIZE; i++)
scanf("%s,%d,%d,%s",&stu.name,&stu.num,&stu.age,&stu.addr);
save();
} //读取两个学生数据
#include<stdio.h>
#include<stdlib.h>
#define SIZE 2
typedef struct
{
char name;
int num;
int age;
char addr;
}student;
student stu;
int i;
void load()
{
FILE *fp;
if(!(fp = fopen("dat.txt", "rb")))//打开文件
{
printf("Cannot open the file!");
return;
}
for(i = 0; i < SIZE; i++)
{
fread(&stu, sizeof(student), 1, fp);//读取数据块!
}
fclose(fp);
}
void main()
{
load();
for(i = 0; i < SIZE; i++)
{
printf("%s%d%d%s", stu.name, stu.num, stu.age, stu.addr );
}
}
运行第一个,再运行第二个 结果正确, 结果后面带着一串很长的数字,是那里出问题?
页:
[1]