C语言程序设计 第六章磁盘数据存储 济南大学
C语言程序设计 第六章 磁盘数据存储 —————————————————————————— —————————— 济南大学
第六章磁盘数据存 >6.1将数据写入文件 >62文件读/写函数分类 >6.3文件定位函数 心U
第六章 磁盘数据存储 ➢ 6.1 将数据写入文件 ➢ 6.2 文件读/写函数分类 ➢ 6.3 文件定位函数
6.1将数据写入文件 例6.1将一串字符a''z写入文件保存起来。 include void main( char ch: FILE*fp;倖定义文件指针,文件操作的步骤1*/ fp= fopen(" Letter txt","wy");/新建并打开文件,文件操作的步骤2* if (p==NULL) /*判断文件打开成功 i printf("OpEnning file error.In"; exit(O); for(ch=A';ch<='z';ch+)/将数据写入文件,文件操作的步骤3*/ fputc(ch, p); putc("Ⅶm",fp); fclose(tp) 关闭文件,文件操作的步骤4*
6.1 将数据写入文件 例6.1 将一串字符'a'—'z'写入文件保存起来。 #include void main( ) { char ch; FILE *fp; fp=fopen("letter.txt","w"); if (fp==NULL) { printf("\nOpenning file error.\n"); exit(0); } for (ch='A';ch<='Z';ch++) fputc(ch,fp); fputc('\n',fp); fclose(fp); } /* 定义文件指针,文件操作的步骤1 */ /* 新建并打开文件,文件操作的步骤2 */ /* 判断文件打开成功*/ /* 将数据写入文件,文件操作的步骤3 */ /* 关闭文件,文件操作的步骤4 */
文件操作的步骤: ①1)定义文件类型指针 文件类型FLE在头文件 stdio. h中声明 (2打开文件 使用文件,不论是写入数据还是读出数据,不论是对一个已 有的文件进行读写还是对新文件进行操作,首先都是使用 I fopen(0 函数打开文件。 ( 向文件写入数据,或从文件读取数据 写入和读取的数据方式不同,需使用不同的读写文件函数; 这是最关键的一步。 (4)关闭文件 使用完毕必须关闭文件,才能彻底的将文件缓冲区的数据写 入文件,并释放系统分配的文件缓冲区。 A分
文件操作的步骤: ⑴ 定义文件类型指针 文件类型FILE在头文件stdio.h中声明 ⑵ 打开文件 使用文件,不论是写入数据还是读出数据,不论是对一个已 有的文件进行读写还是对新文件进行操作,首先都是使用fopen() 函数打开文件。 ⑶ 向文件写入数据,或从文件读取数据 写入和读取的数据方式不同,需使用不同的读写文件函数; 这是最关键的一步。 ⑷ 关闭文件 使用完毕必须关闭文件,才能彻底的将文件缓冲区的数据写 入文件,并释放系统分配的文件缓冲区
文件类型指针 文件类型指针的定义格式为: FLE*指针变量名; 注意: 1.只有通过文件指针变量才能调用相应的文件 2.有n个文件就要定义n个文件指针变量,分别对应各个文件 3.FLE必须大写 如:FLE*p; 心U
一、文件类型指针 文件类型指针的定义格式为: FILE *指针变量名; 注意: 1. 只有通过文件指针变量才能调用相应的文件 2. 有n个文件就要定义n个文件指针变量, 分别对应各个文件 3. FILE必须大写 如:FILE *fp;
文件的打开( fopen函数) 1. fopen函数的使用格式: FILE fp; p=open(文件名,打开方式) 例:FLE*p; p= fopen('a. txt",W"; 打开方式是指对该文件进行什么操作。 2.文件的打开方式:
二、文件的打开(fopen函数) 1. fopen函数的使用格式: FILE *fp; fp=fopen(文件名, 打开方式); 例:FILE *fp; fp = fopen("a.txt" , "w" ); 打开方式是指对该文件进行什么操作。 2. 文件的打开方式:
使用方武含义文阼琅型 说 明 只读文本文件为从文件中读出数据而打开文件 只写文本文件为往文件中写入数据而打开文件 a 追加文本文件为向文件尾部增加数据而打开文件 r+”读写文本文件为读门写而打开文件 W"读写」文本文件为读写而建立一个新文件 a 读写文本文件为读/而打开文件 rb 只读二进制文件为从文件中读出数据而打开文件 , wb 只写 进制文件为往文件中写入数据而打开文件 "b"追加二进制文件为向文件尾部增加数据而打开文件 rb+"读写二进制文件为读写而打开文件 Wb+谏写二进制文件为读写而建立一个新文件 "b+"读写二进制文件为读写而打开文件 ip=fopen(student. dar",r); fp=fopen(score. dat",wb+;
使用方式 含义 文件类型 说 明 "r" 只读 文本文件 为从文件中读出数据而打开文件 "w" 只写 文本文件 为往文件中写入数据而打开文件 "a" 追加 文本文件 为向文件尾部增加数据而打开文件 "r+" 读写 文本文件 为读/写而打开文件 "w+" 读写 文本文件 为读/写而建立一个新文件 "a+" 读写 文本文件 为读/写而打开文件 "rb" 只读 二进制文件 为从文件中读出数据而打开文件 "wb" 只写 二进制文件 为往文件中写入数据而打开文件 "ab" 追加 二进制文件 为向文件尾部增加数据而打开文件 "rb+" 读写 二进制文件 为读/写而打开文件 "wb+" 读写 二进制文件 为读/写而建立一个新文件 "ab+" 读写 二进制文件 为读/写而打开文件 fp=fopen("student.dat", "r"); fp=fopen("score.dat", "wb+");
3、说明: ①、用"r"方式打开的文件,只能读出数据而不能往文件中写数据; 而且要求文件已经存在,不能打开一个并不存在的文件,否则出错 ②、用"w"方式打开的文件,只能用于往文件中写数据而不能读取数 据。 如果指定的文件不存在,则以指定的文件名建立新文件 如果指定的文件存在,在打开文件的同时删除文件中已有的数据 ③、用"a"方式打开文件时,指定的文件一定要存在,否则出错;且 只能往文件中写数据,不能读取数据;自动将数据写入文件末尾; 心U
3、说明: ①、用"r"方式打开的文件,只能读出数据而不能往文件中写数据; 而且要求文件已经存在,不能打开一个并不存在的文件,否则出错 ②、用"w"方式打开的文件,只能用于往文件中写数据而不能读取数 据。 ➢如果指定的文件不存在,则以指定的文件名建立新文件; ➢如果指定的文件存在,在打开文件的同时删除文件中已有的数据 ③、用"a"方式打开文件时,指定的文件一定要存在,否则出错;且 只能往文件中写数据,不能读取数据;自动将数据写入文件末尾;
④、用"r+"、"w"、"a"方式打开的文件,可以用来进行读/数 据; 用"r"方式打开文件时,该文件应该已经存在; 用"w"方式时则建立一个新文件,可以先向文件写数据,然后可 以读文件中的数据; >用"a+"方式打开文件时,可以向文件追加数据,也可以从文件读 取数据; ⑤、如果文件打开时出错,如: 口用"r"方式打开一个并不存在的文件 写文件时磁盘有写保护; 口磁盘已满无法建立新文件等 此时 fopen函数将返回空指针NULL,否则返回与指定文件相对应的 文件指针
④、用"r+" 、 "w+" 、 "a+"方式打开的文件,可以用来进行读/写数 据; ➢用"r+"方式打开文件时,该文件应该已经存在; ➢用"w+"方式时则建立一个新文件,可以先向文件写数据,然后可 以读文件中的数据; ➢用"a+"方式打开文件时,可以向文件追加数据,也可以从文件读 取数据; ⑤、如果文件打开时出错,如: ❑用"r"方式打开一个并不存在的文件; ❑写文件时磁盘有写保护; ❑磁盘已满无法建立新文件等 此时fopen函数将返回空指针NULL,否则返回与指定文件相对应的 文件指针
常用下面的方法打开文件: if ((fp=fopen (score. dat","r ))==NULL) I printf( Cannot open file!n); exit(O); 或 fp=fopen(score. dat,r); if (fp==NULL) i printf("Cannot open file! n"); exit(o) 说明:ex函数的作用是关闭所有文件,结束程序 注意:使用exit函数要包含头文件 心U
常用下面的方法打开文件: if ((fp=fopen("score.dat","r"))==NULL) { printf("Cannot open file!\n"); exit(0); } 或: fp=fopen("score.dat","r"); if (fp==NULL) { printf("Cannot open file!\n"); exit(0); } 说明: exit函数的作用是关闭所有文件,结束程序 注意: 使用exit函数要包含头文件