- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据输入、输出的概念
四、通过文件输入/输出 文件类型指针 文件的打开与关闭 文件的打开与关闭 文件的打开与关闭 文件的读写 文件的写操作 文件的写操作 例如: fp=fopen(a1,r); 说明: ⑴ a1 为文件名 , 是字符串。称为外部文件名。 ⑵ 使用方式为: 只读方式。 ⑶ fopen 函数带回指向文件a1 的指针,并赋给 fp,使得 fp指向a1。 fp 称为内部文件名。 1. 文件的打开( fopen 函数 ) C语言中用 fopen( ) 函数来实现打开文件, fopen 函数的调用方式为 : FILE *fp; fp = fopen(文件名,使用文件方式) ; 通过 fopen( ) 使内部文件名 和 外部文件名联系上,即fp 指向 a1文件。 在打开一个文件时,通知给编译系统有以下3个信息: ①需要打开(即访问)的文件名。 ②使用文件的方式。 ③让哪一个指针变量指向被打开的文件。 如果 fopen 函数打开文件失败,则返回一个空指针值 NULL。 为避免因上述原因的出错,造成对文件读写操作出错,常用以下的方法来打开一个文件,以确保对文件读写操作的正确性: if((fp=fopen(c:\\myfile.dat,w+))==NULL) { printf(Cannot open file the file exit!); exit(0); /* 退出程序 */ } ┇ /* 此处编写打开文件后,对文件读\写的代码 */ 注意:指定文件路径要使用“盘符:\\文件夹名\\文件名”形式 保留已存在的文件,可以添加数据,也可以读取数据 ab+(读/写) 建立一个新的二进制文件,若文件已存在,则文件内容被清空 wb+(读/写) 为读写打开一个已存在的二进制文件。 rb+(读/写) 保留已存在的文件,可以添加数据,也可以读取数据 a+(读/写) 建立一个新文本文件。若文件已存在,则文件内容被清空 w+(读/写) 为读写打开一个已存在的文本文件。 r+(读/写) 打开一个已存在的二进制文件,在文件尾追加数据。 ab(追加) 为输出打开一个二进制文件。若文件不存在,则创建新文件 wb(只写) 为输入打开一个已存在的二进制文件。 rb(只读) 只用于向已存在的文件的末尾添加数据。 a (追加数据) 为输出创建新文件,(若文件已存在,则文件内容被清空) w(只写) 为输入打开一个已存在的文本文件。 r(只读) 含 义 文件使用方式 文件的打开与关闭 2. 文件的关闭(fclose 函数 ) 关闭文件 —— 就是使文件指针不再指向该文件,即使文件指针变量与文件“脱钩”。 C 语言中用 fclose( ) 函数来关闭文件, fclose 函数的调用形式是 : fclose (文件指针) ; 例如 : fclose(fp) ; 关闭 fp 所指向的文件 如果fclose 函数关闭文件成功,则返回零值;如果fclose 函数关闭文件失败,则返回非零值 EOF( -1),EOF 为文件结束符。 文件的打开与关闭 在C语言中提供了多种文件读写的函数: ???????? ▲字符读写函数: fgetc和fputc ??????? ▲字符串读写函数:fgets和fputs ??????? ▲ 格式化读写函数:fscanf和fprinf 数据块读写函数:freed和fwrite??????? 1. fputc 函数—— 把一个字符写到 磁盘文件上去, 调用方式为 : fputc(ch , fp); 功能:其作用是 将字符(ch 的值)输出到 fp 所指向的文件中去。如果输出成功,则返回 ch字符;否则,返回 EOF (即 -1)。 例:输入5行字符,将其写入到C盘根目录的myfile.txt文件中 函数fprintf()、fputs()、fputc()和fwrite()均为文件的写操作函数,它们在stdio.h头文件中的原型定义形式如下: int fputc(int ch,FILE *fp); int fputs(char *string,FILE *fp); int fprintf(FILE *fp,char *format,variable-list); int fwrite(void *buf,int size,int count,FILE *fp); #include st
您可能关注的文档
- 政治生活 专题8 当代国际社会 专题质量评估(八).doc
- 政治生活 专题8 当代国际社会 第1讲 走进国际社会.doc
- 政治生活 专题8 当代国际社会 第2讲 维护世界和平 促进共同发展.doc
- 政治生活要点剖析.doc
- 政治(文)卷·2013届海南省嘉积中学高一下学期教学质量检测(二).doc
- 政治(理)卷·2013届海南省嘉积中学高一下学期教学质量检测(二).doc
- 政治:1.2.1《唯物主义和唯心主义》课件(新人教版必修四).ppt
- 政治:2.4.1世界的物质性课件1(新人教必修4).ppt
- 政治:4.9.3高考政治唯物辩证法的矛盾观——坚持两点论和重点论的统一.ppt
- 政治:河南省卢氏一高2010—2011学年下学期高二期中考.doc
文档评论(0)