6将数据写入文件 文本文件(ASCI文件):每个字节存放一个字符(即其ASCI码) 优点:便于对字符进行处理,可以直接输出字符形式 缺点:占用存储空间较多,对于数值型数据,其二进制形式与 ASCI码形式转换需要时间 二进制文件:数据按其在内存中的存储形式存放在磁盘上 优点:节省空间,输入输出速度快 缺点:不能直接输出字符形式 设有一整数2460,它在内存中的存储形式:000000 2460在文本文件中的存储形式: 00110010001101000011011000110000 2460在二进制文件中的存储形式:0000100100
设有一整数2460, 它在内存中的存储形式: 0000 1001 1001 1100 2460在文本文件中的存储形式: 0011 0010 0011 0100 0011 0110 0011 0000 2460在二进制文件中的存储形式: 0000 1001 1001 1100 ▪ 二进制文件:数据按其在内存中的存储形式存放在磁盘上 优点: 节省空间 , 输入输出速度快 缺点: 不能直接输出字符形式 6.1 将数据写入文件 ▪ 文本文件(ASCII文件): 每个字节存放一个字符(即其ASCII码) 优点: 便于对字符进行处理, 可以直接输出字符形式 缺点: 占用存储空间较多, 对于数值型数据,其二进制形式与 ASCII码形式转换需要时间
6将数据写入文件 文件类型指针 要使用一个文件需要有一定的信息,如文件当前的读写 位置,与文件对应的内存缓冲区地址,文件的操作方式等。 这些信息都存放在“文件信息区”中,“文件信息区”是一 績楚使龛:基枃体类褶串委錾宮X,类型名为FLE 注意: 1.只有通过文件指针变量才能调用相应的文件 2.有n个文件就要定义n个文件指针变量,分别对应各个文件 3FILE必须大写
➢文件类型指针 要使用一个文件需要有一定的信息 , 如文件当前的读写 位置, 与文件对应的内存缓冲区地址, 文件的操作方式等。 这些信息都存放在“文件信息区”中 , “文件信息区”是一 个 结构体变量 , 其结构体类型由系统定义, 类型名为 FILE ➢定义形式: FILE * 指针变量名 ; 注意: 1. 只有通过文件指针变量才能调用相应的文件 2. 有n个文件就要定义n个文件指针变量, 分别对应各个文件 3. FILE必须大写 6.1 将数据写入文件
6将数据写入文件 文件的打开 1. fopen函数 格式: fopen(文件名,文件使用方式) fopen函数有返回值,返回值是一个地址,即被打开 文件的“文件信息区”的起始地址,使用时应将返回 爷E 个文件指针变需要打开的文件名 fp= fopen(“file1”,“r”); 让哪个指针变量 使用文件的方式(读或写) 指向被打开的文件
一、 文件的打开 1. fopen函数 格式: fopen ( 文件名 , 文件使用方式 ) ; fopen函数有返回值, 返回值是一个地址 , 即被打开 文件的“文件信息区”的起始地址 , 使用时应将返回 值 赋给一个文件指针变量需要打开的文件名 让哪个指针变量 使用文件的方式(读或写) 指向被打开的文件 例 FILE *fp ; fp = fopen ( “file1” , “r” ) ; 6.1 将数据写入文件
6将数据写入文件 2.打开文件的方法 打开文件时,因使用方式不对或其他原因,可能会使 打开文件操作失败,这时 fopen函数的返回值是NULL, 所以在打开文件时通常会判断一下打开操作是否成功 例if(印p= fopen(“ fille”,“r”)==NULL) { printf(“ Can not open this file!n”); exit(0); 说明:exit函数的作用是关闭所有文件,结束程序, 并返回操作系统,也可写成exi(); 注意:使用exi函数要包含头文件< stdlib. h>
2. 打开文件的方法 打开文件时 , 因使用方式不对或其他原因, 可能会使 打开文件操作失败 , 这时fopen函数的返回值是NULL, 所以在打开文件时通常会判断一下打开操作是否成功 例 if ( ( fp =fopen(“file1”, “r”) ) = = NULL ) { printf(“Can not open this file!\n”) ; exit( 0 ) ; } 说明: exit 函数的作用是关闭所有文件, 结束程序, 并返回操作系统, 也可写成 exit ( ) ; 注意: 使用exit函数要包含头文件 < stdlib.h > 6.1 将数据写入文件
6将数据写入文件 3.文件使用方式 (1)“r”与“rb”只读 以此方式打开文件时,该文件必须已经存在,如不存在将出错 打开文件后只能从文件中读数据,当前读写位置位于文件开头 (2)“w”与“wb只写 以此方式打开文件时,如有同名文件(即文件已存在),则将原有 文件删除并建立一个新文件;如没有同名文件(即文件不存在,则 建立一个新文件.打开文件后只能向文件中写数据,当前的读写 位置位于文件开头 (3)“a”与“ab”追加 以此方式打开文件时,如有同名文件,则将当前读写位置位于 文件末尾,可以追加数据;如无同名文件,则建立一个新文件 (4)带“+”号的形式:表示即能读又读写
3. 文件使用方式 (1) “r”与“rb” 只读 以此方式打开文件时, 该文件必须已经存在, 如不存在将出错. 打开文件后只能从文件中读数据, 当前读写位置位于文件开头. (2) “w”与“wb” 只写 以此方式打开文件时, 如有同名文件(即文件已存在), 则将原有 文件删除并建立一个新文件; 如没有同名文件(即文件不存在), 则 建立一个新文件. 打开文件后只能向文件中写数据, 当前的读写 位置位于文件开头. (3) “a”与“ab” 追加 以此方式打开文件时, 如有同名文件, 则将当前读写位置位于 文件末尾, 可以追加数据; 如无同名文件, 则建立一个新文件 (4) 带“+”号的形式: 表示即能读又读写 6.1 将数据写入文件