网站大量收购独家精品文档,联系QQ:2885784924

C语言课件——第九章文件教程.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课件——第九章文件教程

我们现在设计的输入、输出对象都是计算机终端 文件 stdin stdout stderr 输入的数据量较大时,采用文件的方式 数据又分为:字符代码(文本、正文,须转换)和二进制文件(占用空间小,输入输出速度快) 例: 12.367 采用二进制占 4 个字节 采用文本,占 6 个字节 磁盘文件系统: 缓冲文件系统 可以相应减少读写盘次数(由系统代替用户做) 非缓冲文件系统 与低层连接紧密,所以执行效率高(与OS连接较紧密) 标准I/O提供4种读写文件的方法 : ① R/W 一个字符 fgetc fprintc ② R/W 一个字符串 fgets fprints ③ 格式化R/W fscanf fprintf ④ R/W一个记录 fread fwrite 标准I/O 函数相当于终端I/O 函数作用fgetcgetchar输入一个字符fputcputchar输出一个字符fgetsgets输入一个字符串fputsputs输出一个字符串fscanfscanf按指定的格式输入若干个变量的值fprintfprintf按指定的格式输出若干个数据 对于系统I/O(非缓冲文件系统),只提供按记录读写的函数:read和write。 例9.1:将键盘输入的文本存入文件file.txt中。 #include stdio.h main ( ) { ① FILE *fp; char ch ; ② if ((fp=fopen ( file.txt, w)) == NULL) { printf (Can not open this file !\n); exit ( 0 ); } while (( ch = getchar ( ))!= \n)  HYPERLINK \l ⒊  ③ fputc ( ch, fp);   HYPERLINK \l ⒋ ④ fclose (fp); } 要调用一个文件,需要有以下的信息:文件的当前位置与该文件对应的内存缓冲区的地址、文件操作方式等。所以缓冲型为每个文件开辟一个“文件信息区”。采用结构的方式定义“信息区”: typedef struct {…… } FILE; FILE *p1; fopen函数是用来“打开”文件的,文件名一项可带路径,例c:\\tc\\file.txt, 第二个参数为文件使用方式,见下表:(p314) r 只读为输入打开一个字符文件w只写为输出打开一个字符文件a追加向字符文件尾增补数据rb只读为输入打开一个二进制文件wb只写为输出打开一个二进制文件ab追加向二进制文件尾增补数据r+读写为读/写打开一个字符文件w+读写为读/写建立一个新的字符文件a+读写为读/写打开一个字符文件rb+读写为读/写打开一个二进制文件wb+读写为读/写建立一个新的二进制文件ab+读写为读/写打开一个二进制文件fopen函数有一个返回值,它是一个地址值,指向被打开文件的文 HYPERLINK \l ② 件信息区的起始地址。如果操作失败,则返回NULL 。   HYPERLINK \l ③ ③将ch写到fp所指向的文件中  HYPERLINK \l ④ ④关闭fp所指向的文件。  例9.4:统计文件中的单词个数。(P319) #include stdio.h main(int argc,char *argv[]) { FILE *fp; char ch; int white=1; int count=0; if((fp=fopen(argv[1],r))==NULL) { printf(cant open file %s.,argv[1]); exit(0); }

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档