当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

华中科技大学:《C语言程序设计》第9章 输入输出

资源类别:文库,文档格式:PPT,文档页数:16,文件大小:167KB,团购合买
第九章输入输出 为永久性保存数据,需将数据以数据文件的形式存放,以及从现有的某数据文件中读取数据,形成对数据文件的输入输出。
点击下载完整版文档(PPT)

得程序设设 20023

C语言程序设计 2002 年 第九章 输入输出

第九章输入输出 为永久性保存数据,需将数据以数据文件的形式存放, 以及从现有的某数据文件中读取数据,形成对数据文件的 输入输出。 C程序的输入输出有两种方式 (1)标准O或流式IO:依靠标准库函数实现输入输出。 如 printf(“s” (2)低级O:利用操作系统提供的接口函数(称为底层 接口或系统调用)实现输入输出

第九章 输入输出 为永久性保存数据,需将数据以数据文件的形式存放, 以及从现有的某数据文件中读取数据,形成对数据文件的 输入输出。 C程序的输入输出有两种方式: (1)标准I/O或流式I/O:依靠标准库函数实现输入输出。 如printf(“sss”) (2)低级I/O:利用操作系统提供的接口函数(称为底层 接口或系统调用)实现输入输出

91流式 流式IO中,文件被看成是字符(字节)的序列(即 流”) C环境中,将所有ⅣO设备当成文件进行管理,显示器 为输出文件,用以输出数据,键盘为输入文件,用以输入 数据。 流式JO通过FE指针(FIE结构类型在中 定义)存取文件 流式文件分为两种: (1)文本文件:字符流序列;如32767需要5个 字节存储; (2)二进制文件:字节流序列;如32767需要2个 字节存储;但显示时,需进行转换

9.1 流式I/O 流式I/O中,文件被看成是字符(字节)的序列(即 “流”), C环境中,将所有I/O设备当成文件进行管理,显示器 为输出文件,用以输出数据,键盘为输入文件,用以输入 数据。 流式I/O通过FILE指针(FILE结构类型在中 定义)存取文件 流式文件分为两种: (1)文本文件: 字符流序列;如32767需要5个 字节存储; (2)二进制文件:字节流序列;如32767需要2个 字节存储;但显示时,需进行转换

缓冲 区空 输入缓冲区 输入文件 程序 数据区 输出缓冲区 输出文件 缓冲 区满 文件I/O缓冲机制

输入缓冲区 输出缓冲区 输入文件 输出文件 程序 数据区 文件I/O缓冲机制 缓冲 区空 缓冲 区满

92标准输入输函数 921文件的打开与关闭 文件的处理步骤为: (1)首先打开文件,建立FILE指针和物理文件的联 系,系统分配缓冲资源; (2)利用标准输入输出函数读写文件,进行相关处理; (3)关闭文件,将输出缓冲区中未写到文件中的数据输 出到文件中(称为缓冲区清仓),系统释放缓冲资源。 C程序开始执行时,自动打开三个标准流式文件: (1)标准输入文件( stdin),对应键盘; (2)标准输出文件( stdout),对应显示器; (3)标准错误输出文件( stderr),对应显示器

9.2 标准输入输出函数 9.2.1 文件的打开与关闭 文件的处理步骤为: (1)首先打开文件,建立FILE指针和物理文件的联 系,系统分配缓冲资源; (2)利用标准输入输出函数读写文件,进行相关处理; (3)关闭文件,将输出缓冲区中未写到文件中的数据输 出到文件中(称为缓冲区清仓),系统释放缓冲资源。 C程序开始执行时,自动打开三个标准流式文件: (1)标准输入文件(stdin),对应键盘; (2)标准输出文件(stdout),对应显示器; (3)标准错误输出文件(stderr) ,对应显示器

用于打开与关闭文件的函数 (1) fopen打开文件 函数原型:FILE*open( char filename,char*mode) 其中: filename:字符串形式的文件名 mode:文件存取方式,为r,w,a,b,+的组合字符串 “r”,r+”b”,”r+b”读 W+”,wb2,w+b”写 “a,a+”2ab;a+b添加 r:表示读文件,此时该文件必须存在; w:表示写;该文件必须存在时,清空文件数据,不存在 时,创建指定文件名的文件。 a:表示在文件尾添加数据,不清空文件数据

用于打开与关闭文件的函数 (1)fopen 打开文件 函数原型:FILE *fopen(char *filename, char *mode) 其中: filename:字符串形式的文件名 mode:文件存取方式,为r,w,a,b,+的组合字符串 “r”,”r+”,”rb”,”r+b” 读 “w”,”w+”,”wb”,”w+b” 写 “a”,”a+”,”ab”,”a+b” 添加 r:表示读文件,此时该文件必须存在; w:表示写;该文件必须存在时,清空文件数据,不存在 时,创建指定文件名的文件。 a:表示在文件尾添加数据,不清空文件数据

+:表示文件既可以读,也可以写 b:表示打开的文件为二进制文件。缺省时表示文本文件。 r+则表示对一个存在的文本文件进行读写方式打开; r+则表示对不一定存在的文本文件进行读写方式打开,并且 清空文件数据; 例: FILE *fp; fp= fopen(“ student. dat”,”r”); if(fp=NULL){ printi不能打开文件 student. dat”); exit(-1)

+:表示文件既可以读,也可以写; b: 表示打开的文件为二进制文件。缺省时表示文本文件。 r+则表示对一个存在的文本文件进行读写方式打开; r+则表示对不一定存在的文本文件进行读写方式打开,并且 清空文件数据; 例: FILE *fp; fp=fopen(“student.dat”,”r”); if (fp==NULL) { printf(“不能打开文件”, “student.dat”); exit(-1); } fp=fopen(“C:\\LI\\student.dat”,”r”);

(2) fclose关闭文件 函数原型: int fclose(FILE* stream); 返回值:正确时返回0,错误时返回EOF。 strean:FIE指针。 例 fclose(fp) 注:如果对打开的文件未执行过 fclose,则程序终止时将自动 调用 fclose关闭所有未关闭的文件

(2)fclose 关闭文件 函数原型:int fclose(FILE *stream); 返回值: 正确时返回0,错误时返回EOF。 stream: FILE指针。 例: fclose (fp); 注:如果对打开的文件未执行过fclose,则程序终止时将自动 调用fclose关闭所有未关闭的文件

922文件的读写操作 字符读写函数 (1) fgetc:从文件中读取一个字符( unsigned char)并转 换成int值返回。 (2) fputc:将参数c转换为 unsigned char写到文件中。 (3)getc和putc:分别等同于getc和 fputc getchar与 putchar是建立在getc和putc上的宏 #define getchar getc(stdin) #define putchar(x) putc((x), stdout) (4) ungetc:将 getchar、 fgetc、getc读入的字符回送。 例:c= getchar;/输入a ungetc(c);cl= getchar(0;/c1的值为‘a,*

9.2.2 文件的读写操作 一、字符读写函数 (1)fgetc: 从文件中读取一个字符(unsigned char)并转 换成int值返回。 (2)fputc: 将参数c转换为unsigned char写到文件中。 (3)getc和putc:分别等同于fgetc 和fputc。 getchar与putchar是建立在getc和putc上的宏: #define getchar() getc(stdin) #define putchar(x) putc((x),stdout) (4)ungetc:将getchar、fgetc、 getc读入的字符回送。 例:c=getchar(); /*输入a*/ ungetc( c ); c1=getchar(); /*c1的值为‘a’*/

(5) ferror(frp):错误测试。 测试JO操作是否有错,返回0表示正常,非0表示IO操作 出错。 5)feof(p):文件结尾测试。 若读写指针指向文件尾,返回非0,否则。返回0。 般用于测试输入文件的读过程。 feof(fp)&&!ferror(fp)(, feof(fp==0 & ferror(fp)==0 表示指针未指向文件尾,且文件操作正常

(5)ferror(fp):错误测试。 测试I/O操作是否有错,返回0表示正常,非0表示I/O操作 出错。 (5)feof(fp):文件结尾测试。 若读写指针指向文件尾,返回非0,否则。返回0。 一般用于测试输入文件的读过程。 !feof(fp) && !ferror(fp) ➔ feof(fp)==0 && ferror(fp)==0 表示指针未指向文件尾,且文件操作正常

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共16页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有