|||
第八章 标准IO库(5.15)
C++输入输出由标准库提供,标准库定了一组类型,支持对文件和控制窗口等设备的读写,还定义了其它的类型,对string读写。
知识点:
面向对象的标准库:无论是设备的类型还是字符的大小都不影响需要执行的IO操作。标准库使用继承来定义面向对象的类,父类也称为基类,由其继承而来的类成为派生类。P245列有iostream继承关系图。共有三种头文件:iostream、fstream、sstream,分别连接内存和控制窗口,文件和控制窗口,内存中的string流和控制窗口。
如果函数有基类类型的引用形参,则可以给函数传递其派生类型的形参。
标准库类型不允许复制或赋值,因此不能存储在vector中,形参或返回类型也不能是流类型,只能是引用或指针形式。
输出缓冲区的刷新:
endl flush unitbuf。C++默认输入和输出绑在一起,因此任何输入流都将刷新输出缓冲区,如要解除绑定关系,应使用cin.tie(0)。
文件的输入和输出:
Ifstream infile: //定义对象
Infile(str); //打开文件
Infile.open(file.c_str) //将文件和对象绑定在一起,之后才能对文件读写。
将对象与其它文件绑定之前应该先关闭当前绑定,infile.close(),最好还清除当前流:infile.clear()。
文件打开模式:in(只读)、out(写)、app(每次写之前找到文件尾)、ate(打开文件后定位到文件尾)、trunc(打开文件时清除)。
字符串流:
Stringstream a; //定义
a.str() //返回a的string对象
a.str(b) //给a赋值string对象b。
sstring输出可以吧算术类型转换为字符串型,输入可以把字符串型转换为算数类型。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 21:31
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社