C++课件 第11章 C++的IO流库概要1.ppt

C课件第11章C的IO流库概要1

第11章 C++的I/O流库 本章内容 流概述、屏幕输出、键盘输入 格式化输入和输出 字符串流 磁盘文件的输入和输出 * 流的概念 所谓流是指数据从一个位置流向另一个位置。是用于输入输出的一组类。 流的类型:文本流和二进制流。 输出流与输入流。 说明: “流”看成一个逻辑设备。 “流”是临时的。 提取操作和插入操作。 文件和缓存的概念 文件 是对具体设备的抽象。 如,磁盘文件和显示器都是文件。 所有流的行为对程序员来讲都是相同的。 说明: 流统一了对相关文件的操作。 缓冲 缓冲区是指系统在内存中开辟的一块区域,临时存放信息. 缓冲流:缓冲区满或当前输入流中有新的行符时,系统才对流进行刷新。 非缓冲流:所有输入流中的数据将被外部设备立即处理。 流与文件、缓冲的关系示意图 C++流类的基本结构 C++中有4个预定义的流对象 一、标准输出 标准输出主要有三种形式: 预定义的插入符 利用cout的put()成员函数 利用cout的write()成员函数 1.预定义的插入符 “”插入运算符,向输出流中插入一个字符序列。重载在ostream类中定义,cout是数据的目的地。 功能: 数据输出到计算机屏幕。 重载格式: ostream operator (ostream , 类型修饰符); 例如: coutabcd; 2.put()成员函数 功能: 输出一个字符,将字符送进输出流。 格式: cout.put(char c); 或 cout.put(const char c); 例11.3:分析程序结果。 3.write()成员函数 功能: 输出一个字符串。 格式: cout.write(const char *str,int n) 说明: str是一个字符指针或字符数组,用来存放一个字符串的,n是一个int型数,表示输出显示字符串中字符的个数。 例11.4:分析程序结果。 二、标准输入 标准输入主要有三种形式: 预定义的符提取符 利用cin的get()成员函数 利用cin的read()成员函数 1.预定义的提取符 预定义的提取符() 最一般的键盘输入是将提取符作用在流类的对象cin上。 cin重载格式: istream operator (istream is,classtype var) ; 使用格式: cin表达式表达式… 说明: 从键盘上输入的两个数之间常用空白符、tab、或换行符作为分隔符。 例11.5:提取符的应用。 提取符使用注意事项: 提取符可从输入流中读取一个字符序列。并认为这个字符串是以空白符为结束的字符序列。每读入一个字符串时,系统自动加上\0字符。 使用ctrl+z作为输入流的结束符。 具体操作中,先输入换行符后,再输入ctrl+z键。此时cinbuf的值为0,则退出循环。 2.get()成员函数 使用get()读一个字符。 格式:cin.get( ) 格式:cin.get(char ch) 例11.6:分析程序输出结果。 get()使用注意事项: get()从输入流返回一个字符的ASCII码值,可以赋给一个int型量。 EOF是一个符号常量,它的值是-1,被包含在iostream.h文件中。 而put(ch)只能对char型量操作,不能操作int型量。 getline()成员函数 格式:cin.getline(char *buf,int limit,Deline=‘\n’); buf是一个字符指针或字符数组,limit用来限制从输入流中读取的字符个数,最多limit-1个,因为留一个字符来存放结束符。Deline是读取时指定的结束符,默认是‘\n’ 。 例11.7:编程统计从键盘上输入每一行字符的个数,从中选取出最短的行的字符个数,统计共输入多少行。 3.read()成员函数 成员函数read()可以从输入流中读取指定数目的字符并将它们存入在指定的数组中。 格式: cin.read(char *buf,int size) 说明: buf:存放读取的字符的指针或字符数组。 size:指定从输入流中读取字符的个数。 使用gcount()统计上一次使用read()函数读取的字符个数。 使用peek()函数,从输入流中返回下一个字符,但不提取。 例11.8:分析程序输出结果。 例11.9:分析程序输出结果。 四、格式控制I/O操作 格式化输入与输出是指按规定的格式对流进行输入与输出操作。 在没有进行格式控制的情况下,输入输出采用默认格式。 控制数据的格式: 使用成员函数设置标志位 iostream.h 使用成员函数直接设置格式 iostream.h 使用操作子 iomanip.h 1.流的格式化标志 控制格式的标志位 io

文档评论(0)

1亿VIP精品文档

相关文档