C++ Primer Chapter 8 The IO Library

Chapter 8 The IO Library

▧ istream(输入流)类型,提供输入操作
▧ ostream(输出流)类型,提供输出操作
▧ cin,一个istream对象,从标准输入读取数据
▧ cout,一个ostream对象,向标准输出写入数据
▧ cerr,一个ostream对象,通常用于输出程序错误信息,写入到标准错误。
▧ >>运算符,用来从一个istream对象读取输入数据
▧ <<运算符,用来向一个ostream对象写入输出数据
▧ getline函数,从一个给定的istream读取一行数据,存入一个给定的string对象中。

8.1 IO类

8.1.1 IO对象无拷贝或赋值

不能拷贝或对IO对象赋值

#include <fstream>
#include <iostream>
int main() {
	std::ofstream out1, out2;
	out1 = out2;							//报错	
	std::ofstream print(std::ofstream);		//如无下一代码编译时未报错
	std::cout << print<< std::endl;			//添加本行代码后报错报错如下

	out2 = print(out2);						//报错	
}

报错信息

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	LNK2019	无法解析的外部符号 "class std::basic_ofstream<char,struct 								std::char_traits<char> > __cdecl print(class std::basic_ofstream<char,struct std::char_traits<char> >)" (?print@@YA?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@V12@@Z),函数 main 中引用了该符号	CPP_Primer_5th	H:\C_CPP_CUDA\LearningCPP\CPP_Primer_5th\NoCopyOrAssignForIO_Objects.obj	1	

由于不能拷贝IO对象,因此我们也不能将形参或返回类型设置为流类型。进行IO操作的函数通常以引用方式传递和返回流。读取一个IO对象会改变其状态。因此传递和返回的引用不能是const的。

8.1.2 条件状态

条件状态(condition state)
表8.2: IO库条件状态

使用good或fail是确定流的总体状态的正确方法。实际上,我们将流当作条件使用的代码就等价于!fail()。而eof和bad操作只能表示特定的错误。

相关推荐

  1. 12.<span style='color:red;'>8</span>-1.<span style='color:red;'>8</span>

    12.8-1.8

    2024-06-11 18:56:02      50 阅读
  2. <span style='color:red;'>8</span>. 队列

    8. 队列

    2024-06-11 18:56:02      57 阅读
  3. DevOps(<span style='color:red;'>8</span>)

    DevOps(8)

    2024-06-11 18:56:02      52 阅读
  4. ARMday8

    2024-06-11 18:56:02       31 阅读
  5. Day8.

    2024-06-11 18:56:02       37 阅读
  6. C++-<span style='color:red;'>8</span>

    C++-8

    2024-06-11 18:56:02      29 阅读
  7. <span style='color:red;'>8</span>.Redis

    8.Redis

    2024-06-11 18:56:02      31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 18:56:02       75 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 18:56:02       80 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 18:56:02       64 阅读
  4. Python语言-面向对象

    2024-06-11 18:56:02       75 阅读

热门阅读

  1. 深度学习的可微渲染

    2024-06-11 18:56:02       28 阅读
  2. Linux学习问题

    2024-06-11 18:56:02       35 阅读
  3. NAT

    NAT

    2024-06-11 18:56:02      45 阅读
  4. 享元模式

    2024-06-11 18:56:02       35 阅读
  5. css特效:对多个tag标签实现模拟地球仪特效

    2024-06-11 18:56:02       39 阅读
  6. 2024-6-11-SPECT和PET的区别是什么

    2024-06-11 18:56:02       28 阅读
  7. docker-ce 和 docker-ee介绍版本介绍

    2024-06-11 18:56:02       26 阅读
  8. C++中的命令模式

    2024-06-11 18:56:02       21 阅读
  9. 结构化表达,了解python的pep

    2024-06-11 18:56:02       28 阅读
  10. 关系模式R(U,F)【数据库-软件设计师】

    2024-06-11 18:56:02       25 阅读
  11. 常用的三种软件架构

    2024-06-11 18:56:02       27 阅读
  12. GMT shp转gmt数据

    2024-06-11 18:56:02       23 阅读