首页 iostream

iostream

举报
开通vip

iostream C++的 iostream 标准库介绍 ---------------转制 www.cndev-lab.com |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 本文制作: terry tong email: terrcy.j@126.com |//本文所有源码注明: |//程序作者:管宁 |//站点:www.cndev-lab.com |//所有稿件均有...

iostream
C++的 iostream 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 库介绍 ---------------转制 www.cndev-lab.com |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | 本文制作: terry tong email: terrcy.j@126.com |//本文所有源码注明: |//程序作者:管宁 |//站点:www.cndev-lab.com |//所有稿件均有版权,如要转载,请务必著名出处和作者 |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 我们从一开始就一直在利用 C++的输入输出在做着各种练习,输入输出是由 iostream 库提供的,所以讨论此标准库是有必要的,它与 C语言的 stdio 库不 同,它从一开始就是用多重继承与虚拟继承实现的面向对象的层次结构,作为一 个 c++的标准库组件提供给程序员使用。 iostream 为内置类型类型对象提供了输入输出支持,同时也支持文件的输 入输出,类的设计者可以通过对 iostream 库的扩展,来支持自定义类型的输入 输出操作。 为什么说要扩展才能提供支持呢?我们来一个示例。 #include #include using namespace std; class Test { public: Test(int a=0,int b=0) { Test::a=a; Test::b=b; } int a; int b; }; int main() { Test t(100,50); printf("%???",t);//不明确的输出格式 scanf("%???",t);//不明确的输入格式 cout<>t;//同样不够明确 system("pause"); } 由于自定义类的特殊性,在上面的代码中,无论你使用 c风格的输入输出, 或者是 c++的输入输出都不是不明确的一个表示,由于 c语言没有运算符重载机 制,导致 stdio 库的不可扩充性,让我们无法让 printf()和 scanf()支持对自定 义类对象的扩充识别,而 c++是可以通过运算符重载机制扩充 iostream 库的, 使系统能能够识别自定义类型,从而让输入输出明确的知道他们该干什么,格式 是什么。 在上例中我们之所以用 printf 与 cout 进行对比目的是为了告诉大家,C与 C++处理输入输出的根本不同,我们从 c远的输入输出可以很明显看出是函数调 用方式,而 c++的则是对象模式,cout 和 cin 是 ostream 类和 istream 类的对 象。 C++中的 iostream 库主要包含下图所示的几个头文件: 我们所熟悉的输入输出操作分别是由 istream(输入流)和 ostream(输出流) 这两个类提供的,为了允许双向的输入/输出,由 istream 和 ostream 派生出了 iostream 类。 类的继承关系见下图: iostream库定义了以下三个标准流对象: 1.cin,表示标准输入(standard input)的istream类对象。cin使我们可以从设备读如数据。 2.cout,表示标准输出(standard output)的ostream类对象。cout使我们可以向设备输出或 者写数据。 3.cerr,表示标准错误(standard error)的osttream类对象。cerr是导出程序错误消息的地方, 它只能允许向屏幕设备写数据。 输出主要由重载的左移操作符(<<)来完成,输入主要由重载的右移操作符(>>)完成。 >>a表示将数据放入a对象中。 < using namespace std; int main() { ofstream myfile("c:\\1.txt",ios::out|ios::trunc,0); myfile<<"中国软件开发实验室"< #include using namespace std; int main() { ofstream myfile("c:\\1.txt",ios::app,0); if(!myfile)//或者写成 myfile.fail() { cout<<"文件打开失败,目标文件状态可能为只读!"; system("pause"); exit(1); } myfile<<"中国软件开发实验室"< #include using namespace std; int main() { ofstream myfile; myfile.open("c:\\1.txt",ios::out|ios::app,0); if(!myfile)//或者写成 myfile.fail() { cout<<"文件创建失败,磁盘不可写或者文件为只读!"; system("pause"); exit(1); } myfile<<"中国软件开发实验室"< #include #include using namespace std; int main() { ifstream myfile; myfile.open("c:\\1.txt",ios::in,0); if(!myfile) { cout<<"文件读错误"; system("pause"); exit(1); } char ch; string content; while(myfile.get(ch)) { content+=ch; cout.put(ch);//cout< #include using namespace std; int main() { fstream myfile; myfile.open("c:\\1.txt",ios::out|ios::app,0); if(!myfile) { cout<<"文件写错误,文件属性可能为只读!"< #include using namespace std; int main() { char *name = "www.cndev-lab.com"; int arraysize = strlen(name)+1; istrstream is(name,arraysize); char temp; is>>temp; cout< #include using namespace std; int main() { int arraysize=1; char *pbuffer=new char[arraysize]; ostrstream ostr(pbuffer,arraysize,ios::out); ostr<
本文档为【iostream】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_632936
暂无简介~
格式:pdf
大小:123KB
软件:PDF阅读器
页数:0
分类:工学
上传时间:2011-07-05
浏览量:49