C语言程序设计精编教程 作者 陈正权 岳睿 第10章 文件.pptVIP

C语言程序设计精编教程 作者 陈正权 岳睿 第10章 文件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(1)以下叙述中错误的是_____。 A)C语言中对二进制文件的访问速度比文本文件快。 B)C语言中,随机文件以二进制代码形式存储数据。 C)语句FILE fp; 定义了一个名为fp的文件指针。 D)C语言中的文本文件以ASCII码形式存储数据。 C (2)下面程序将从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中。 FILE *fp; main() { char ch; if ((fp=fopen(_______________))==NULL) exit(0); while((ch=getchar())!=‘@’) fputc(ch,fp); fclose(fp); } “bi.dat”,”w” 文件的概念; 文件的操作步骤: 文件指针定义、 文件的打开、 文件的关闭。 这一节我们学习了 一.向文件读写一个字符(fputc()和fgetc()) 1.fputc函数 函数调用: fputc(ch,fp); 函数功能: 将字符(ch的值)输出到fp所指向的文件中去。 返回值: 如果输出成功,则返回值就是输出的字符; 如果输出失败,则返回一个EOF(-1)。 10.4 文件的读写 2.fgetc函数 函数调用:ch=fgetc(fp); 函数功能: 从指定的文件读入一个字符,该文件必须是以读或 读写方式打开的。 返回值: 读取成功一个字符,赋给ch。 如果遇到文件结束符,返回一个文件结束标志 EOF 。 例:从键盘输入字符,逐个存到磁盘文件中,直到输入‘#“为止 #include stdio.h main() { FILE *fp; char ch; if((fp=fopen(“out.txt”,w))==NULL) { printf(cannot open file\n); exit(0); } printf(Please input string:); ch=getchar(); while(ch!=#) { fputc(ch,fp); ch=getchar(); } fclose(fp);} 1、fgets函数 函数作用:从指定文件读入一个字符串。 函数调用:fgets(str,n,fp); 从fp指向的文件输入n-1个字符,在最后 加一个’\0’放到str数组中。 返回值: str的首地址 10.3.2 向文件读写一个字符串(fgets()和fputs()) 2.fputs函数 函数作用:向指定的文件输出一个字符串。 函数调用:fputs(“china”,fp); 第一个参数可以是字符串常量、字符数组名 或字符型指针。字符串末尾的′\0′不输 出。 返回值: 输入成功,返回值为0; 输入失败,返回EOF. 格式化读写(fprintf()和fscanf()) 函数调用: fprintf ( 文件指针,格式字符串,输出表列); fscanf ( 文件指针,格式字符串,输入表列); 函数功能: 从磁盘文件中读入或输出字符。 例:fprintf(fp, “%d,%6.2f”,i,t); fscanf(fp, “%d,%f”,i,t); 注意: 用fprintf和fscanf函数对磁盘文件读写, 使用方便,容易理解,但由于在输入时要将 ASCII码转换为二进制形式,在输出时又要 将二进制形式转换成字符,花费时间比较多。 因此,在内存与磁盘频繁交换数据的情况下, 最好不用fprintf和fscanf函数,而用fread和 fwrite函数。 10.3.4 用二进制方式读写(fread()和fwrite()) 函数调用: fread (buffer,size,count,fp); fwrite(buffer,size,count,fp); 参数说明: buffer:是一个指针。 对fread 来说,它是读入数据的存放地址。 对fwrite来说,是要输出数据的地址(均指起始地址)。 size: 要读写的字节数。 count: 要进行读写多少个size字节的数据项。 fp: 文件型指针。 使用举例: 若文件以二进制形式打开: fread(f,4,2,fp); (f为一实型数组名) 此函数从fp所指向的文件中读入2个4个字节的数 据,存储到数组f中。 若有如下结构类型: struct student {char name[10]; int num;

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档