输入输出流.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
它使类中的数据得到很好的“保护”,在大型程 序中不会被随意修改。
在C++中,结构体类型只是类的一个特例
圆类
数据成员 半径
成员函数 置半径值 求周长 求面积
实例化
➢类的变量即为对象。 ➢对象是类的实例
C++的各种I/O流类库
C++为实现数据的I/O定义了一个庞大的类 库。它包括的类主要有——
C++ I/O类库中的其他类
用流插入运算符“<<”向cout输出数据. 如:
cout << “a=”<< a << endl; cout << 数据1 <<数据2 << 数据3;
cerr流对象——ห้องสมุดไป่ตู้控制台(显示器)输出错误信息
用流插入运算符“<<”向cerr输出数据. 如:
cerr << “除数为0, 出错!” << endl; cerr的用法与cout类似.
示器输出。
使用控制符控制格式输出
控制符 dec hex oct setfill(c) setprecision(n) setw(n) setiosflags(ios::fixed)
作用 设置整数的基数为10 设置整数的基数为16 设置整数的基数为8 设置填充字符c 设置实数的显示精度为n位 设置字段宽度为n 实数以固定的小数位数显示
例13.2 用控制符控制输出格式
#include <iostream>
#include <iomanip>
using namespace std;
void main( )
{ int a;
cout <<“input a:”;
cin>>a; // a=34
cout<<“dec:”<<dec<<a<<endl;
输入流——表示数据从某个载体或设备传送 到内存
输出流——表示数据从内存传送到某个载体 或设备
键盘 文件
输入流
输出流
内 存
显示器 文件
光笔....
打印机...
C++的输入输出流
在进行I/O操作时——
首先进行“打开”操作,使流和文件发生联系 建立联系后的文件才允许数据流入或流出 I/O结束后,使用“关闭”操作使文件与流断开联系。
cout流对象与cerr流对象的不同之处
cout的输出默认是显示器,但可以被重定向为输出到磁 盘文件
cerr只能定向输出到显示器
例13.1 解一元二次方程ax2+bx+c=0 的解
void main( ) { float a, b, c, disc;
cout << “输入a,b,c: ”; cin >> a >> b >> c; if (a==0) cerr << “ a=0, 不是二次方程,出错!”<<endl; else { disc=b*b-4*a*c;
clog流对象——在控制台(显示器)输出错误信息.
用流插入运算符“<<”向clog输出数据.
如:
clog << “除数为0, 出错!” << endl; clog的用法与cerr类似.
clog流对象与cerr流对象的不同之处
cerr是不经过缓冲区,直接向显示器输出有关信息。 clog的输出先存储在缓冲区,遇到缓冲区满或遇到endl时才向显
包含头文件
在一个程序中包含一个头文件的命令格式为——
#include <头文件名> 常用的I/O类库有
I/O操作类型
需要进行标准I/O操作 需要进行文件I/O操作
需要进行串I/O操作 使用格式化I/O
必须包含的头文件
iostream fstream strstream iomanip
在iostream中定义的4个流对象—— cin,cout,cerr, clog
C++将I/O流定义为类——流类。属于流类 的对象是流对象
系统已经以运算符或函数的形式做好了对标准外设 (键盘、显示器、打印机、文件)的接口,使用时 只需按照要求的格式调用即可。
如:cin —— 标准输入流对象。 cout ——标准输出流对象。
类的定义
类是一种复杂的数据类型
它是将不同类型的数据和与这些数据相关的运算 封装在一起的集合体。
以外存磁盘文件为对象
文件I/O
内存中的数据存储到磁盘文件中,叫输出文件;
从磁盘文件中的数据装载入内存中,叫输入文件。
以内存中指定的空间作为对象 串I/O
常指定一个字符数组作为存储空间,这种I/O称为字符串的输入 输出。
C++采取不同的方法实现以上三种I/O。
C++的输入输出流
数据之间的传输过程称作流(stream)——
与格式控制符setw(n)相似 与格式控制符setfill(c)相似
13.3 标准输入流
标准输入流——从标准输入设备(键盘)流向 程序的数据.
cin流对象 int a,b;
第13章 输入输出流
13.1 C++的输入输出 13.2 标准输出流 13.3 标准输入流 13.4 文件操作与文件流
13.1 C++的输入和输出(I/O)
输入和输出,要看以什么为对象——
以标准I/O设备为对象 标准I/O
从键盘、鼠标得到的数据是进入内存的,该数据是输入数据。
将数据从内存送到显示器、打印机等,该数据是输出数据。
dec:34
cout<<“hex:”<<hex<<a<<endl;
hex:22
cout<<“oct:”<<oct<<a<<endl;
oct:42
cout<<setfill(‘*’)<<setw(10)<<dec<<a<<endl;********34
}
用流对象的成员控制格式输出
说明: cout.width(n) cout.fill(c)
if (disc<0) cerr<<“二次方程无实根。”<<endl; else { cout<<“x1=”<<(-b+sqrt(disc))/(2*a)<<endl;
cout<< “x2=”<<(-b-sqrt(disc))/(2*a)<<endl; } } }
标准输出流
标准输出流——流向标准输出设备(显示器)的数 据
对象 含义 对应设备 对应的类
cin 标准输入流 键盘 istream_withassign
cout 标准输出流 显示器 ostream_withassign
cerr 或 clog
标准错误流
13.2 标准输出流
标准输出流——流向标准输出设备(显示器)的数据 cout流对象——在控制台(显示器)输出
在C++中,结构体类型只是类的一个特例
圆类
数据成员 半径
成员函数 置半径值 求周长 求面积
实例化
➢类的变量即为对象。 ➢对象是类的实例
C++的各种I/O流类库
C++为实现数据的I/O定义了一个庞大的类 库。它包括的类主要有——
C++ I/O类库中的其他类
用流插入运算符“<<”向cout输出数据. 如:
cout << “a=”<< a << endl; cout << 数据1 <<数据2 << 数据3;
cerr流对象——ห้องสมุดไป่ตู้控制台(显示器)输出错误信息
用流插入运算符“<<”向cerr输出数据. 如:
cerr << “除数为0, 出错!” << endl; cerr的用法与cout类似.
示器输出。
使用控制符控制格式输出
控制符 dec hex oct setfill(c) setprecision(n) setw(n) setiosflags(ios::fixed)
作用 设置整数的基数为10 设置整数的基数为16 设置整数的基数为8 设置填充字符c 设置实数的显示精度为n位 设置字段宽度为n 实数以固定的小数位数显示
例13.2 用控制符控制输出格式
#include <iostream>
#include <iomanip>
using namespace std;
void main( )
{ int a;
cout <<“input a:”;
cin>>a; // a=34
cout<<“dec:”<<dec<<a<<endl;
输入流——表示数据从某个载体或设备传送 到内存
输出流——表示数据从内存传送到某个载体 或设备
键盘 文件
输入流
输出流
内 存
显示器 文件
光笔....
打印机...
C++的输入输出流
在进行I/O操作时——
首先进行“打开”操作,使流和文件发生联系 建立联系后的文件才允许数据流入或流出 I/O结束后,使用“关闭”操作使文件与流断开联系。
cout流对象与cerr流对象的不同之处
cout的输出默认是显示器,但可以被重定向为输出到磁 盘文件
cerr只能定向输出到显示器
例13.1 解一元二次方程ax2+bx+c=0 的解
void main( ) { float a, b, c, disc;
cout << “输入a,b,c: ”; cin >> a >> b >> c; if (a==0) cerr << “ a=0, 不是二次方程,出错!”<<endl; else { disc=b*b-4*a*c;
clog流对象——在控制台(显示器)输出错误信息.
用流插入运算符“<<”向clog输出数据.
如:
clog << “除数为0, 出错!” << endl; clog的用法与cerr类似.
clog流对象与cerr流对象的不同之处
cerr是不经过缓冲区,直接向显示器输出有关信息。 clog的输出先存储在缓冲区,遇到缓冲区满或遇到endl时才向显
包含头文件
在一个程序中包含一个头文件的命令格式为——
#include <头文件名> 常用的I/O类库有
I/O操作类型
需要进行标准I/O操作 需要进行文件I/O操作
需要进行串I/O操作 使用格式化I/O
必须包含的头文件
iostream fstream strstream iomanip
在iostream中定义的4个流对象—— cin,cout,cerr, clog
C++将I/O流定义为类——流类。属于流类 的对象是流对象
系统已经以运算符或函数的形式做好了对标准外设 (键盘、显示器、打印机、文件)的接口,使用时 只需按照要求的格式调用即可。
如:cin —— 标准输入流对象。 cout ——标准输出流对象。
类的定义
类是一种复杂的数据类型
它是将不同类型的数据和与这些数据相关的运算 封装在一起的集合体。
以外存磁盘文件为对象
文件I/O
内存中的数据存储到磁盘文件中,叫输出文件;
从磁盘文件中的数据装载入内存中,叫输入文件。
以内存中指定的空间作为对象 串I/O
常指定一个字符数组作为存储空间,这种I/O称为字符串的输入 输出。
C++采取不同的方法实现以上三种I/O。
C++的输入输出流
数据之间的传输过程称作流(stream)——
与格式控制符setw(n)相似 与格式控制符setfill(c)相似
13.3 标准输入流
标准输入流——从标准输入设备(键盘)流向 程序的数据.
cin流对象 int a,b;
第13章 输入输出流
13.1 C++的输入输出 13.2 标准输出流 13.3 标准输入流 13.4 文件操作与文件流
13.1 C++的输入和输出(I/O)
输入和输出,要看以什么为对象——
以标准I/O设备为对象 标准I/O
从键盘、鼠标得到的数据是进入内存的,该数据是输入数据。
将数据从内存送到显示器、打印机等,该数据是输出数据。
dec:34
cout<<“hex:”<<hex<<a<<endl;
hex:22
cout<<“oct:”<<oct<<a<<endl;
oct:42
cout<<setfill(‘*’)<<setw(10)<<dec<<a<<endl;********34
}
用流对象的成员控制格式输出
说明: cout.width(n) cout.fill(c)
if (disc<0) cerr<<“二次方程无实根。”<<endl; else { cout<<“x1=”<<(-b+sqrt(disc))/(2*a)<<endl;
cout<< “x2=”<<(-b-sqrt(disc))/(2*a)<<endl; } } }
标准输出流
标准输出流——流向标准输出设备(显示器)的数 据
对象 含义 对应设备 对应的类
cin 标准输入流 键盘 istream_withassign
cout 标准输出流 显示器 ostream_withassign
cerr 或 clog
标准错误流
13.2 标准输出流
标准输出流——流向标准输出设备(显示器)的数据 cout流对象——在控制台(显示器)输出