[理学]第14章_文件09_09_NIT_l.ppt

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

五.其它读写函数: 1. putw 和 getw 函数 用来对磁盘文件读写一个整数.例如: putw(10,fp); i=getw(fp); putw 和 getw 函数并不是 ANSI C 标准定义的函数,但大多数C编译系统都提供了这两个函数,包括Turbo c. 是从磁盘文件读一个整数到内存,赋予变量i. 它将整数10输出到fp指向的文件中. 2.fgets( )函数: 该函数的功能是从指定文件中读入一个字符串.如: fgets(str,n,fp) 说明: (1). n 为要得到的字符数,但从指定文件中读入n-1个字符, 然后在最后加一个‘\0’,并将其保存在字符数组str中. (2). 当满足下列条 件之一时结束: a. 已读入n-1个字符. b. 当前读取的字符是换行符或EOF(文件尾)。 (3). fgets( )的返回值是str的首地址. 3.fputs( )函数: 该函数的功能是向指定文件中输出一个字符串.如: fputs( “China”,fp); 说明: (1). 向fp所指的文件输出字符串(可以是字符串常量, 字符数组名和字符型指针).末尾的‘\0’不输出. (2). 若输出成功,则返回0,否则返回EOF(-1).同时,位 置指针移动字符串长度. c. 其实 putchar( )函数就是从fputc( )函数派生出 来的: #define putchar(c) fputc(c,stdout) putchar(c)是向屏幕输出一个字符C. fputc(c,stdout)同样是将字符C输出到屏幕终端输出 文件中. (4).出错检测: ferror( ) 函数 当用函数对文件进行各种操作后,除了函数的返回值 能反映操作的成功与否. (1).此外,还可用ferror( )函数来检查. 调用方式: ferror(fp); 返回值为0: 成功 返回非O: 出错 说明: 在Open一个文件后,ferror( ) 的初值为0,以后对文件每进行一次读写都会使该函数产生一个新值,所以要立即进行测试. (2).clearerr( )函数: 调用方式: clearerr(fp); 说明: a. 该函数使文件错误标志和文件结束标志置为0. 在对某一文件操作时出错,ferror( ) 函数应有 一个非0返回值,在调用clearerr(fp)后,ferror(fp) 的返回值就变成0; b. 文件操作出现错误标志,就一直保留,直到对同一 文件调用clearerr( )或调用rewind( ),或任一其 它的输入,出函数. 例、请按下列要求编程: 请编写一个带命令行参数的程序 prog.c. (1). 当运行prog filename时将文本文件filename按原样在 标准输出(终端)上输出; (2). 当运行prog -u filename时将文本文件filename全部以 大写方式(指字母)在标准输出(终端)上输出; (3). 当运行prog -l filename时将文本文件filename全部以 小写方式(指字母)在标准输出(终端)上输出; 其它运行方式均显示出错信息. C:\ prog [-u][-l] filename #include stdio.h #include ctype.h main(int argc, char *argv[]) { FILE *fp; char *filename; int tag = 0; char ch; if(argc2|| argc3) /*命令行参数个数为 2 或 3 */ { printf(Argument error\n); return; } if( argc ==3) { if(strcmp(argv[1],-l)==0) tag = 1; else if (strcmp(argv[1],-u)==0) tag = 2; else

文档评论(0)

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

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

1亿VIP精品文档

相关文档