- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章C的输入输出流
C++程序设计
第10章 C++的输入输出流
流与流对象
标准输出流
标准输入流
输入输出的格式化
文件处理
字符串流
主要内容
流与流对象
1、流的引入
scanf(%d,a); cina;
printf(%d,a); couta;
2、流的基本概念
流:数据从一个对象流动到另一个对象,这种 流动抽象为流。
流的操作:建立流、删除流、提取(读操作/输 入)、插入(写操作/输出)。
3、C++流的继承结构
流与流对象
C++的输入输出操作由它所提供的一个I/O流类的类库
来实现,该类库是用继承的方法建立起来的,主要有
streambuf和ios两个平行的基类。 streambuf类主要负
责缓冲区的处理,同时也为ios基类提供缓冲支持。Ios
类是一个抽象基类,主要提供I/O所需的公共操作,其
层次结构图如图10-1。
流与流对象
标准流是C++预定义的对象,主要提供内存与外部设备
进行交互的功能,包括数据提取、插入、解释及格式处
理,同时为这种数据交换提供必要的缓冲支持,其关系
如图 10-2。
流与流对象
系统预定义了4个流类对象,供用户使用,见表10-1。
表10-1 标准输入输出对象
对象名
所属类
对应设备
默认的含义
说明
cin
istream
键盘
标准输入
可重定向
cout
ostream
屏幕
标准输出
可重定向
cerr
ostream
屏幕
标准错误
不带缓冲
clog
ostream
打印机
标准错误
带缓冲
【例10.1】计算一个数的平方根。
#include iostream
#include cmath
using namespace std;
int main()
{ double x;
coutinput one number:\n; //cout的用法
cinx; //cin的用法
if(x0)
{ cerrLess than 0,input x:\n; // cerr的用法
cinx;
}
clogsquare root is: sqrt(x)endl; // clog的用法
return 0;
}
1、使用成员函数put( )输出一个字符
格式为:cout.put(char c)或cout.out(const char ch );
2、使用成员函数write( )输出字符串
格式为:cout.write(const char *str,int n);
说明:
这些成员函数既可用于文本流,也可用于二进制流,尤其适用于二进制流。
标准输出流
【例10.2】put( )函数使用
void main()
{ char ch1=A,ch2=B;
coutA,Bendl;
cout.put(ch1).put(,).put(ch2).put(\n);
cout.put(A).put(,).put(B).put(\n);
}
【例10.3】write( )函数使用
void main()
{ char *str1=1234567890; //字符指针
char str2[]=; //字符数组
cout.write(str1,10).put(\n); //输出全部字符
cout.write(str2,strlen(str2)).put(\n); //输出前6个字符
cout.write(ABCDEFGHIJK,6)endl;
}
结果: 1234567890
ABCDEF
1、使用成员函数get( )获取一个字符
格式为:cout.get(char ch)或char ch=cout.get( );
标准输入流
注意:get( )在获取字符时不忽略空白字符,即输入流中的空白字符也会被当作有效字符读入。
2、使用成员函数getline( )获取多个字符
格式为: cout.getline(char *buf,int size,char delim=\n);c
getline( )最多可读取Limit-1个字符;
从输入流中读取Limit-1个字符后;
从输入流中读取换行符或其他终止符后;
从输出流中读取到文件或输入流结束符后;
getline( )通常用来读取一行字符:
3.getline( )函数结束操作的条件:
标准输入流
【例10.4】get( )函数使用
void main()
{ int cnt=0;
char ch;
coutinput a sentence:\n;
while ((ch
您可能关注的文档
最近下载
- 英语:完形填空40篇练习.doc
- 别克英朗2015款用户手册使用说明书.pdf
- 2024年骨科外固定支架行业研究报告及未来五至十年预测分析报告.docx
- 湖南省医学类专业专升本考试生理、解剖学考试试卷.pdf VIP
- 阿里巴巴的“神雕侠侣”——员工的价值观行为准则.docx VIP
- 2023-2024学年山东省滨州市沾化区二年级(上)期末数学试卷(含答案).pdf VIP
- 引号的“世界”━━引号用法考点解析.pdf VIP
- 2023-2024学年山东省济南市长清区人教版二年级上册期末测试数学试卷「含答案」.pdf VIP
- 研究是一门艺术(The_Craft_of_Research).pdf VIP
- 某市中级人民法院院长民主生活会个人对照检查发言提纲.docx VIP
文档评论(0)