C++第14章标准库和输入输出流.ppt
文本预览下载声明
计算机程序设计 第14章 标准库和输入输出流 教师:杨振平 E-mail: zpyang@ctec.xjtu.edu.cn 一.C++的标准库概述 标准函数库 包含: I/O函数、字符串处理函数、数学函数、时间与日期函数等。 标准类库 包含:I/O流类、字符串类、异常处理类等。 标准库的使用 使用标准库时,应用#include包含相应的头文件 标准函数库的头文件,如:cstring、cmath、cctype、cstdlib等 标准类库的头文件, 如:iostream、string等,使用std命名空间,通常与 using namespace std; 配合使用。 二.流 流:是以字节方式对数据从源到目标进行传递的一种描述。 输入流:指从输入设备到内存中字节的传递; 输出流:指从内存到输出设备中字节的传递; C++中有两组类提供两个级别的I/O功能: 从streambuf类派生,提供基本的低级I/O操作,即在设备与内存间传输字节,是无格式的I/O操作,使用不方便。 从ios类派生,提供格式化、错误检查,是高级的I/O操作,即把若干字节组成有意义的数据单位,按数据类型敏感的方式执行。 ios类除提供基本I/O流类外,还提供对文件处理的流类,称为文件流。 ios istream fstreambase ostream ifstream ofstream iostream fstream 三.输入输出流 iostream类库的接口对应的头文件: 头文件iostream包含所有i/o流所需的基本信息,并定义有四个标准i/o流对象: cin:标准输入流对象(与标准输入设备连接) cout :标准输出流(与标准输出设备连接) cerr :非缓冲的标准错误流(默认设备为显示器) clog :经缓冲的标准错误流(默认设备为打印机) 通过标准流对象调用重载的运算符函数(和),实现C++的基本输入/输出。 如: istream operator(int ); //在 istream类中声明 int a; cina; 头文件iomanip包含有流操纵符说明,可以进行I/O格式控制。 头文件fstream包含对文件处理的操作信息。 I/O流类中的其它成员函数 1.get()-istream类,可读取输入的空格字符 int get()- 读取一个字符 如:ch=cin.get(); istream get(char ch)- 读取一个字符 istream get(char *buf,int size,char delim=‘\n’); - 读取字符串,遇到分隔符结束 2.getline():读取字符串,并删除分隔符。 3.put()- ostream类,输出一个字符 如:cout.put(‘A’);与cout.put(65);等价 4.ignore(int) - istream类,跳过指定数量的字符 5. putback(char) - istream类,将get()提取的字符放回到输入流中。 6.peek() - istream类,返回输入流中的下一个字符,并不删除。 7.ground() - istream类,统计最后一次输入的字符个数。 例:比较cin和cin.get的输入 int main() { const int SIZE=80; char ch1,ch2,ch3,buffer1[SIZE],buffer2[SIZE]; cinbuffer1; coutbuffer1endl; ch1=cin.get(); ch2=cin.get(); coutch2endl; cin.get(ch3); coutch3endl; cin.get(buffer2,SIZE,\n); coutbuffer2endl; return 0; } 四.格式化I/O控制 C++中的I/O流允许对I/O操作进行格式控制。 例如:设置域的宽度、指定数制基数、指定小数位数等。 方法: 访问ios类的成员 (格式状态标志和格式化成员函数) 操纵符(manipulator) (一些特殊函数) ios类流格式状态标志
显示全部