c语言-文件经典教学解说.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.1 文件及格式化输入输出;1)“文件名”是指要打开(或创建)的文件名。如果使用字符数组(或字符指针),则不使用双引号。“文件名”可包含相对或绝对路径,如“c:\\work\data”或“..\\data”。不包含路径则表示文件在与可执行程序相同的目录中 2)最常用的“操作方式”见下页: 例如,FILE *fp; fp=fopen(data.99,r); 3)如果不能实现打开指定文件的操作,则fopen()函数返回0)。 ;操作方式由以下字母构成,含义为 r(read): 只读,文件必须存在,否则出错 w(write): 只写 a(append): 追加 t(text): 文本文件,可省略不写 b(binary):?二进制文件 +: 如打开为读,则加写,如打开为写则加读,例如: “r” 打开一个文本文件,只读 “r+” 打开一个文本文件,允许读写 “rb” 打开一个二进制文件,只允许读 “rb+” 打开一个二进制文件,允许读写 “w” 只写,清除或创建新文件 “w+” 读写,同上 “a” 只允许在文件尾部添加,如文件不存在则出错 …… ;8.1.3 文件的关闭──fcolse()函数 1.用法: int fclose(FILE *文件指针); 2.功能:关闭“文件指针”所指向的文件。如果正常关闭了文件,则函数返回值为0;否则,返回值为非0。 例如,fclose(fp);/*关闭fp所指向的文件*/;8.1.4 格式化输入输出;例: int a,b; float c; char d,e[20]; ...... Scanf(“%d,%d,%f,%c,%s”, a, b, c, d, e); ...... ;8.1.4.2 格式化输出 printf(“格式符”,输出参数表); 格式符中可包含scanf中格式符中格式串,格式串必须和后面参数表中参数1-1对应,也可包含一般字符串。 例:printf(“%d,%s”,a,e); printf(“a=%d,b=%s”,a,e); prinf(“these are all output parameter!”); ;8.1.5 对文件进行格式化读/写──fscanf()和fprintf()函数;1)用法:int feof(文件指针); 2)功能:在执行读文件操作时,如果遇到文件尾,则函数返回逻辑真(1);否则,则返回逻辑假(0)。;例:从文件students.txt中读入学生基本信息,然后统计平均身高,添加到最后一行,students.txt文件内容为: Wang 170 Li 178 Zhang 189 程序运行后文件最后增加下列行: Average 179 ;#include stdio.h void main() { FILE *std; char name[10]; int height,sumheight=0,cnt=0; std=fopen(students.txt,r+a); while (!feof(std)) { fscanf(std,%s%d,name,height); sumheight+=height; cnt++; } fprintf(std,\n%s %d,average,sumheight/cnt); fclose(std); };二进制文件读写;例:以二进制方式写入100到文件到文件test.txt,然后打开这个文件观察内容: #include stdio.h void main() { FILE *fp; int a=100; fp=fopen(f:\\test.txt,wb); fwrite(a,4,1,fp); //参数分别为:写入数据的首地址,每个数据项字节数,数据项个数, fclose(fp); };以二进制方式打开test.txt,读取4个字节到整数变量中,输出该整数变量值 #include stdio.h void main() { FILE *fp; int a; fp=fopen(f:\\test.txt,rb); fread(a,4,1,fp); //参数分别为:写入数据的首地址,每个数据项字节数,数据项个数, fclose(fp); printf(%d,a); }

文档评论(0)

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

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

1亿VIP精品文档

相关文档