c语言利用文件保存数据刘佳.pptVIP

  • 21
  • 0
  • 约9.69千字
  • 约 45页
  • 2020-06-27 发布于天津
  • 举报
如果有一个 struct student 结构体类型 struct student { char name 【 10 】; int num ; int age ; char addr 【 30 】; } stud 【 40 】; for(i=0;i40;i++) fread(stud[i], sizeof(struct student_type),1,fp) ; for(i=0;i40;i++) fwrite(stud[i], sizeof(struct student_type),1,fp) ; 假设学生的数据存放在磁盘文件中,可以用 for 语句读入 40 个学生数据 用 for 语句将内存中的学生数据输出到磁盘文件中 例 10.4 从键盘输入 10 个学生的有关数据,然后把它们转存 到磁盘文件中。 #include stdio.h #define SIZE 10 struct student_type { char name[10]; int num; int age; char addr[15]; } stud[SIZE]; void main() { int i; printf(“enter data of students: \n); for(i=0;iSIZE;i++) scanf(%s%d%d%s, stud[i].name,stud[i].num, stud[i].age,stud[i].addr); save( ); } void save( ) { FILE *fp; int i; if((fp=fopen(stu_dat,wb))==NULL) { printf(cannot open file\n); exit ( 0 ) ; } for(i=0;iSIZE;i++) if(fwrite(stud[i], sizeof(struct student_type),1,fp)!= 1 ) printf( ile write error\n); fclose(fp);} 当前路径下的文件 函数调用成功,返回 count 的值 C 语 言 执 行 程 序 输入数据 输出数据 100 200 300 存在问题: 运行完毕, 结果消失! 运行结果能否长 期保存呢? 使用文件! 文件无处不在,切不可 视而不见,时而不理! 如: C 语言源程序文件( .c 或 .cpp )、执行文件 ( .exe )、图片文件( .jpg ) …… 文件的基本概念 ? 文件: 存储在外部介质上数据的集合 , 是操作系统数据管 理的单位。 ? 文件命名规则: 一个文件都必须有唯一的文件标识,包括 : 文件的路径、文 件名主干和文件后缀 ( [. 扩展名 ] ) 文件路径 文件名主干 文件后缀 d: \cc\temp\file1.dat 通常:文件标识被称为文件名。后缀用来表示文件的性质,一般不超过 3 个字母; Doc , txt , dat , c , exe , ppt , bmp 等等。 文件的类别 ? 按文件的逻辑结构: ? 记录文件:由具有一定结构的记录组成(定长和不定 长),帮助记忆的都可以成为记录文件。 流式文件:构成文件的基本单位为 字符 ,长度为所包含字 符的个数,又称字符流文件。 按存储介质: ? 普通文件:存储介质文件(磁盘、磁带等) ? 设备文件:非存储介质(键盘、显示器、打印机等) ? 按文件的内容 ? 程序文件。程序文件又可分为源文件、目标文件和可执行 文件。 ? 数据文件。如各种图像文件、声音文件等。 文件的类别 ? 根据文件的组织形式 ? 顺序存取文件; ? 随机存取文件。 ? 按数据的组织形式: ? 文本文件: ASCII 文件 ,每个字节存放一个字符的 ASCII 码 ? 二进制文件:数据按其在内存中的存储形式原样存放 按数据分类的文件,是我 们今天学习的内容0011000000110000( 1 ) ( 0 ) ( 0 ) ( 0 ) ASCII 形式:一个字节代表一个字符,便于输出字符00010000 二进制形式:一个字节不对应一个字符,不能直接输出字符形式 ( 10000 ) ASCII 文件 : 每一个字节放一个字符的 ASCII 码 。 二进制文件 : 数据在内存中是以二进制形式存储的, 不加转换地输出到外存。 ( 0 ) 整数 10000 :分别占 5 字节和 2 字节 ? 文件处理方法 ? 缓冲文件系统 :系统自动为正在使用的文件开辟内存缓冲 区 磁盘文件 输出文件缓冲区 输入文件缓冲区 程序数据区 a 缓冲文件系统: 文件指针 ? 文件结构体 FILE ? 缓冲文件

文档评论(0)

1亿VIP精品文档

相关文档