921文件的打开 文件的打开模式 模式字符串 意义 - 以只读方式打开一个文本文件,只允许读数据 以只写方式打开或建立一个文本文件,只允许写数据 a 以追加方式打开一个文本文件,并在文件末尾写数据 以读写方式打开一个文本文件,允许读和写 w+" 以读写方式打开或建立一个文本文件,允许读写 "a+ 以读写方式打开一个文本文件,允许读,或在文件末追加数 Frb 以只读方式打开一个二进制文件,只允许读数据 "wb以只写方式打开或建立一个二进制文件,只允许写数据 "b”以追加方式打开一个二进制文件,并在文件末尾写数据 "rb+”以读写方式打开一个二进制文件,允许读和写 wbn以读写方式打开或建立一个二进制文件,允许读和写 "b+n1以读写方式打开一个二进制文件,允许读,或在文件末追加数据 ☆☆第9章文件操作
☆☆ 第9章 文件操作 11 9.2.1 文件的打开 •文件的打开模式 模式字符串 意 义 "r" 以只读方式打开一个文本文件,只允许读数据 "w" 以只写方式打开或建立一个文本文件,只允许写数据 "a" 以追加方式打开一个文本文件,并在文件末尾写数据 "r+" 以读写方式打开一个文本文件,允许读和写 "w+" 以读写方式打开或建立一个文本文件,允许读写 "a+" 以读写方式打开一个文本文件,允许读,或在文件末追加数 "rb" 以只读方式打开一个二进制文件,只允许读数据 "wb" 以只写方式打开或建立一个二进制文件,只允许写数据 "ab" 以追加方式打开一个二进制文件,并在文件末尾写数据 "rb+" 以读写方式打开一个二进制文件,允许读和写 "wb+" 以读写方式打开或建立一个二进制文件,允许读和写 "ab+" 以读写方式打开一个二进制文件,允许读,或在文件末追加数据
921文件的打开模式说明 1)“r”模式: 只能用于输入(读操作),且只能打开一个已经存在的文件。 2)“w”模式: 只能用于输出(写操作)。 如果指定的文件不存在,则新建一个文件; 如果文件存在,则把原来的文件删除,再重新建立一个空白的文件。 3)“a”模式: 用于追加操作。 如果指定的文件不存在,则新建该文件; 如果文件存在,保留该文件原有的数据,在原文件的末尾添加新的数据。 4)打开方式带上“b”表示是对二进制文件进行操作。带上 “+”表示既可以读,又可以写。而对待文件存在与否的不同处 理则按照“r”、“w”、“a”各自的规定。 5)如果在打开文件时发生错误,即打开失败, fopen返回 个空指针NULL。 ☆☆第9章文件揉作
☆☆ 第9章 文件操作 12 9.2.1 文件的打开----模式说明 1)“r”模式: 只能用于输入(读操作),且只能打开一个已经存在的文件。 2)“w”模式: 只能用于输出(写操作)。 如果指定的文件不存在,则新建一个文件; 如果文件存在,则把原来的文件删除,再重新建立一个空白的文件。 3)“a”模式: 用于追加操作。 如果指定的文件不存在,则新建该文件; 如果文件存在,保留该文件原有的数据,在原文件的末尾添加新的数据。 4)打开方式带上“b”表示是对二进制文件进行操作。带上 “+”表示既可以读,又可以写。而对待文件存在与否的不同处 理则按照“r”、 “w”、 “a”各自的规定。 5)如果在打开文件时发生错误,即打开失败,fopen返回一 个空指针NULL
921文件的打开模式说明 文件打开可能出现的错误有: ■试图以“读”模式(带“r”的方式)打开一个并不存在的文件; 试图以“写”方式(带“w”或“a”的方式、“r+”或“rb+”方式)打 开被设置为“只读”属性的文件。 ■新建一个文件,而磁盘上没有足够的剩余空间或磁盘被写保护。 用不正确的模式打开一个文件可能会破坏文件的内容 为避免因上述原因的出错,常用以下的方法来打开一个文件: if(fp=fopen(source. txt","r"=NULL) i printf("This file could not be opened n"); exit(0)/返回操作系统* else #include<process.h> 此处编写对文件读写的代码 ☆☆第9章文件操作
☆☆ 第9章 文件操作 13 • 文件打开可能出现的错误有: 试图以“读”模式(带“r”的方式)打开一个并不存在的文件; 试图以“写”方式(带“w”或“a”的方式、 “r+”或“rb+”方式)打 开被设置为“只读”属性的文件。 新建一个文件,而磁盘上没有足够的剩余空间或磁盘被写保护。 用不正确的模式打开一个文件可能会破坏文件的内容。 为避免因上述原因的出错,常用以下的方法来打开一个文件: 9.2.1 文件的打开----模式说明 if((fp=fopen("source.txt","r"))==NULL) { printf("This file could not be opened !\n"); exit(0) /*返回操作系统*/ } else { ┇ /*此处编写对文件读/写的代码*/ } #include <process.h>
92文件的打开与关闭 922文件的关闭 fclose(文件指针变量); 【例】 fclose(p) 关闭由指针指定的文件,同时根据需要刷新缓冲区。 如果文件成功关闭, fclose函数将返回值0,否则返回EOF。 ·对文件的操作完成后,应确保关闭程序中打开的文件,以 避免文件的数据丢失。 关闭文件指断开指针与文件之间的联系,也就禁止再对该 文件进行操作。 磁盘已满、磁盘被移走或者出现ⅣO错误等都会导致 fclose函 数执行失败。 ☆☆第9章文件操作
☆☆ 第9章 文件操作 14 9.2 文件的打开与关闭 9.2.2 文件的关闭 【例】fclose(fp) • 关闭由指针fp指定的文件,同时根据需要刷新缓冲区。 • 如果文件成功关闭,fclose函数将返回值0,否则返回EOF。 fclose(文件指针变量); • 对文件的操作完成后,应确保关闭程序中打开的文件,以 避免文件的数据丢失。 • 关闭文件指断开指针与文件之间的联系,也就禁止再对该 文件进行操作。 • 磁盘已满、磁盘被移走或者出现I/O错误等都会导致fclose函 数执行失败
92文件的打开与关闭 缓冲文件系统: 输入文件缓冲区 磁盘文件 程序数据区 输出文件缓冲区 fclose 不关闭文件可能会丢失数据 ☆☆第9章文件操作 15
☆☆ 第9章 文件操作 15 9.2 文件的打开与关闭 不关闭文件可能会丢失数据 磁盘文件 输出文件缓冲区 输入文件缓冲区 程序数据区 a 缓冲文件系统: fclose