8.1 IO类
C++语言没有直接处理输入和输出,而是在标准库种定义了类型来处理IO
回忆我们之前学习的和IO有关的知识
1.istream 提供输入操作
2.ostream 提供输出操作
3.cin istream的对象,从标准输入(键盘)中读取数据
4.cout ostream的对象向标准输出(控制台)中输出数据
5. cerr ostream对象,向像准输出(控制台)输出数据
6. >> 其实是位运算符,重载之后的含义是从istream对象中读取数据
7. << 往ostream对象中输出值
8. getline(),从给定的istream对象中读取一行,存入string对象中。
之前学习到的和IO相关的知识,都是和标准输入和输出挂钩的,但是我们还可以从文件中读取和写入,也可以从string对象中读取和写入。
所以除了iostream类,C++标准库还定义了fstream和sstream。用来处理从文件中读取和写入,以及从存储在内存的string对象中读取和写入。
具体情况如下:
对于fstream和sstream的操纵方式和iostream的操纵方式是一样的,因为fstream和sstream继承自iostream。
所以类似于
int a;
cin>>a;
cout<<b;
string str;
getline(cin,str);
fstream和sstream的对象操纵的方式都是差不多。
8.1.1 IO对象没有拷贝和赋值
在之前的学习中,了解到iostream对象作为形参只能用引用或者指针的方式,
这是因为iostrem不准赋值