- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课件--文件
例12-5 /*将字符串“apple”, “grape”, “pear” 写入到磁盘文件f12-5.txt中,然后再从该文件中读出,显示到屏幕。*/ int main(void) { FILE *fp; int i; char a[ ][80] = {apple, grape, pear}, strout[80]=; if((fp = fopen(f12-5.txt,w)) == NULL){ printf(File open error!\n); exit(0); } for(i = 0;i 3;i++) fputs(a[i], fp); fclose(fp); if((fp = fopen(f12-5.txt,r)) == NULL){ printf(File open error!\n); exit(0); } i = 0; while( !feof(fp) ){ if( fgets(strout, strlen(a[i++])+1, fp) != NULL) puts(strout); } fclose(fp); return 0; } 12.3.4 格式化文件读写fscanf和fprintf fscanf(文件指针,格式字符串,输入表); fprintf(文件指针,格式字符串,输出表); 指定格式的输入输出函数 FILE *fp; int n; float x; fp = fopen(a.txt, r); fscanf(fp,%d%f,n,x); 表示从文件a.txt分别读入整型数到变量n、浮点数到变量x。 fp = fopen(b.txt, w); fprintf(fp, %d%f, n, x); 表示把变量n和x的数值写入文件b.txt。 12.3.5 数据块读写fread()和fwrite() fread(buffer, size, count, fp); 从二进制文件中读入一个数据块到变量。 fwrite(buffer, size, count, fp); 向二进制文件中写入一个数据块 。 buffer:指针,表示存放数据的首地址。 size:数据块的字节数。 count:要读写的数据块块数。 fp:文件指针。 12.3.6 其他相关函数 函数feof()--判断fp指针是否已经到文件末尾。 feof(fp) ; 函数返回值 1:到文件结束位置。 0:文件未结束。 函数rewind( )--定位文件指针,使文件指针指向读写文件的首地址,即打开文件时文件指针所指向的位置。 rewind(FILE *fp); 函数fseek( )--用来控制指针移动。 fseek(fp, offset, from); offset:移动偏移量,long型。 from:起始位置,文件首部、当前位置和文件尾部分别对应0,1,2,或常量SEEK_SET、SEEK_CUR、SEEK_END。 例如: fseek(fp, 20L, 0):将文件位置指针移动到离文件首20字节处。 fseek(fp, -20L, SEEK_END):将文件位置指针移动到离文件尾部前20字节处。 函数ftell( )--获取当前文件指针的位置,即相对于文件开头的位移量(字节数)。 ftell(文件指针); 函数出错时,返回-1L 5.ferror函数:函数用来检查文件在用各种输入输出函数进行读写是否出错,若返回值为0,表示未出错,否则表示有错。 调用形式为: ferror(文件指针); 文件指针必须是已经定义过的 函数clearerr( )--用来清除出错标志和文件结束标志,使它们为0。 clearerr(文件指针); 12.4 文件综合应用:个人小金库的管理 12.4.1顺序文件和随机文件 按照C程序对文件访问的特点来分,文件可分为顺序访问文件和随机访问文件,简称为顺序文件和随机文件。前面介绍的所有例子都进行的是顺序访问,通过使用fprintf或fputs函数创建的数据记录长度并不是完全一致的,这种记录长度不确定的文件访问称为顺序访问。而随机访问文件要求文件中单个记录的长度固定,可直接访问,这样速度快,并且无需通过其他记录查找特定记录。因此随机文件适合银行系统、航空售票系统、销售点系统和其他需要快速访问特定数据的事务处理系统。 12.4.2 个人小金库的管理 要求 小金库的信息统一放在随机文件中,该随机文件包括的数据项有记录ID、发生日期、发生事件、发生金额(正的表示收入,负表示支出)和余额。每记录一次收支,文件要增加一条
原创力文档


文档评论(0)