#include
#include
#include
#define SIZE 3
errno_t err;
struct Stu {
char name[20];
int num;
int age;
char addr[15];
}stud[SIZE];
int main()
{
void save(FILE );
FILE *p;
char file[20];
printf("输入目标文件,如果目标文件不存在,将会新建文件\n");
gets_s(file, 20);
fopen_s(&p,file,"wb");
save(p);
}
void save(FILE *p)
{
int i = 0;
char ch;
printf("请输入学生数据:\n");
for (; i < SIZE; i++)
{
scanf_s("%s,%d,%d,%s",stud[i].name,20,&stud[i].num, &stud[i].age,stud[i].addr,15);
}
printf("******************************************\n");
for (i = 0; i < SIZE; i++)
printf("%s,%d,%d,%s\n",stud[i].name, stud[i].num, stud[i].age, stud[i].addr);
for (i = 0; i < SIZE; i++)
{
err = fwrite(&stud[i], sizeof(Stu), 1, p);
fputs("\r\n", p);
if (err != 1) printf("write erro ");
}
fclose(p);
}
为什么我存储到文件夹的数据每一行都会有个问好 比如 我存储 jack,1001,17,class1 结果printf出来是jack,1001,17,class1,0,0 文件中则是jack,1001,17,class1 ? 怎么办哪里出了问题
scanf_s("%s,%d,%d,%s",stud[i].name,&stud[i].num, &stud[i].age,stud[i].addr);
这样看看