fread和fwrite使用的题..
2013-08-16 19:33
211 查看
又到了做题的时候,搞了好久搞了出来。出了个bug,在保存函数忘记了关闭文件,导致读取函数时一直打开失败- -!
我不会怎么沟通讲题,所以我慢慢来,努力来让自己沟通能力提升!
贴代码!
我不会怎么沟通讲题,所以我慢慢来,努力来让自己沟通能力提升!
贴代码!
#include <stdio.h> #include <stdlib.h> #define LEN 4 //在这里定义数组长度方便以后的修改,要养成这个好习惯; struct stutype { char name[10], address[30]; //姓名 地址 学号 年龄; int num, age; }stu[LEN], stud[LEN]; //一个用于写,一个用于读; void save(); void load(); void main (){ int i; printf("请输入学生的 姓名、学号、年龄 和 地址:\n\n"); //写入学生信息; for(i=0; i<LEN; i++){ printf("请输入第 %d 个学生的信息:\n", i+1); scanf_s("%s %d %d %s", stu[i].name, 10, &stu[i].num, &stu[i].age, stu[i].address, 30); } save(); //保存; load(); //读取; } void save(){ int i; FILE *fp; fopen_s(&fp, "stulist", "wb"); if (!fp){ printf("打开文件错误1!\n\n"); return; } for (i=0; i<LEN; i++){ if (fwrite (&stu[i], sizeof(struct stutype), 1, fp) !=1){ printf("写入文件错误!\n"); fclose(fp); } } fclose(fp); //很重要的一件事,打开完一个文件一定要记得关闭。 } void load(){ int i; FILE *fp; fopen_s(&fp, "stulist", "rb"); if (!fp){ printf("打开文件错误2!\n"); return; } for (i=0; i<LEN; i++){ fread(&stud[i], sizeof(struct stutype), 1, fp); printf("第 %d 个学生的信息:\n\n", i+1); printf("姓名:%s\n学号:%d\n年龄:%d\n地址:%s\n\n", stud[i].name, stud[i].num, stud[i].age, stud[i].address); } fclose(fp); }
相关文章推荐
- fread(从文件读取)和fwrite(向文件写入)配合使用
- strtok()函数、fseek()函数、fwrite()函数、fread()函数的使用
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- fread fwrite 的使用
- fopen()、fwrite()、fread()函数使用说明与示例
- 关于c语言中fread和fwrite的使用
- [Linux流操作]使用fread和fwrite函数读写文件
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- fopen()、fwrite()、fread()函数使用说明与示例
- 使用fwrite,fread需要注意的问题
- linux编程之文件操作fseek,fwrite,fread,ftell使用
- fwrite()、fread()函数使用小结
- fread,fwrite ,fscanf,fprintf 使用
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- fwrite,fread and fprintf,fscanf的一些使用体会
- 使用fwrite()和fread()函数直接访问文件
- open fdopen fread fwrite使用方法
- 关于系统调用open,write,read,close及库函数fopen,fwrite,fread,fclose的使用
- linux下标准I/O的使用——fread/fwrite
- fopen()、fwrite()、fread()函数使用说明与示例