用“a”方式打开的文件用于向该文件末尾添加新的数据(不删除原有数据)。也就是说,打开文件时,文件读写标记移到文件末尾。打开文件时,该文件应该已存在;如果该文件不存在,则在打开文件前建立一个以指定的名字命名的文件。“w+”、“a+”方式打开的文件既用“r+”、‘可以用来输入数据,也可以用来输出数据>二进制文件访问模式:在文本文件访问服权所有?陈暂保留所有权利模式中加“b”例如,“rb”、“wb”“ab”、“rb+"wb+"“ab+"11
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ◦用“a”方式打开的文件用于向该文件末尾添 加新的数据(不删除原有数据)。也就是说, 打开文件时,文件读写标记移到文件末尾。打 开文件时,该文件应该已存在;如果该文件不 存在,则在打开文件前建立一个以指定的名字 命名的文件。 ◦用“r+” 、 “w+” 、 “a+”方式打开的文件既 可以用来输入数据,也可以用来输出数据。 ➢二进制文件访问模式:在文本文件访问 模式中加“b” 。 ◦例如,“rb” 、 “wb” 、 “ab”、“rb+” 、 “wb+” 、 “ab+” 。 11
>fclose函数用于关闭文件,原型为:int fclose(FILE * fp)>例如:fclose(fp);>在对文件进行写入后,如果不关闭文件,将有可能丢失数据版权所有@陈暂保留所有权利12
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢fclose函数用于关闭文件,原型为: int fclose(FILE * fp) ➢例如: fclose(fp); ➢在对文件进行写入后,如果不关闭文件,将有 可能丢失数据。 12
顺序读写文件>在顺序读写时,对数据读写的顺序和数据在文件中的物理顺序是一致的。在顺序读时,先读文件中前面的数据,后读文件中后面的数据:在顺序写时,先写入的数据存放在文件中前面后写入的数据存放在文件中后面>顺序读写需要调用库函数实现有@陈保留所有权利13
版 权 所 有 © 陈 哲 保 留 所 有 权 利 顺序读写文件 ➢在顺序读写时,对数据读写的顺序和数 据在文件中的物理顺序是一致的。 ◦在顺序读时,先读文件中前面的数据,后读文 件中后面的数据; ◦在顺序写时,先写入的数据存放在文件中前面, 后写入的数据存放在文件中后面。 ➢顺序读写需要调用库函数实现。 13
>函数fgetc用于读一个字符,原型为:int fgetc(FILE * fp)从指向的文件中读一个字符,如果成功则返回所读的字符,如果失败则返回文件结束标志EOF(即-1)。>函数fputc用于写一个字符,原型为:int fputc(int ch, FILE ** fp)版权所有@陈哲保留所有权利把字符ch写到fp指向的文件中,如果成功则返回写入的字符,如果失败则返回文件结束标志EOF(即-1)。14
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢函数fgetc用于读一个字符,原型为: int fgetc(FILE * fp) 从fp指向的文件中读一个字符,如果成功 则返回所读的字符,如果失败则返回文 件结束标志EOF(即-1)。 ➢函数fputc用于写一个字符,原型为: int fputc(int ch, FILE * fp) 把字符ch写到fp指向的文件中,如果成功 则返回写入的字符,如果失败则返回文 件结束标志EOF(即-1)。 14