|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
始终写入不正确。
执行完之后输入,接着输出结构体数组stud是正确的,但是写入文件就写的不对了。也没有返回错误,只是写入不对。
- #include<stdio.h>
- #include<stdlib.h>//p320
- #define SIE 4
- struct student_type
- {
- char name[10];
- int num;
- int age;
- char addr[15];
- }stud[SIE];
- void save()
- {
- FILE *fp;
- int i;
- if((fp=fopen("d:\\stu_list.txt","w"))==NULL)
- {
- printf("文件打开失败\n");
- exit(1);
- }
- for (i = 0; i < SIE; i++)
- {
- if (fwrite(&stud[i], sizeof(struct student_type), 1, fp) != 1)
- printf("文件写入失败\n");
- }
- fclose(fp);
- }
- /*void display()
- {
- FILE* fp;
- int i;
- if (fp = (fopen("d:\\stu_list.txt", "r")) == NULL)//只读方式打开文件
- {
- printf("文件打开失败\n");
- exit(1);
- }
- for(i = 0;i<SIE; i++)
- {
- fread(&stud[i], sizeof(struct student_type), 1, fp);
- printf("%-10s,%4d,%4d,%-15s", stud[i].name, stud[i].num, stud[i].age, stud[i].addr);
- }
- fclose(fp);
- }*/
- int main()
- {
- int i;
- printf("请输入:\n姓名\t\tid\t年龄\t家乡\n");
- for (i = 0; i < SIE; i++)
- {
- scanf("%s%d%d%s", stud[i].name, &stud[i].num, &stud[i].age, stud[i].addr);
- printf("下一个\n");
- }
- /* for (i = 0; i < SIE; i++)
- {
- printf("%s,\t%d,\t%d,\t%s\n", stud[i].name, stud[i].num, stud[i].age, stud[i].addr);
- }*/
- save();
- /* display();*/
- return 0;
- }
复制代码
|
|