C++ Primer Plus 第17章笔记

第17章 输入、输出和文件

17.1 C++输入和输出概述

可以在C++程序中使用stdio:h文件(较新的实现使用头文件cstdio)。

C++的I/O解决方案在头文件iostream(以前为iostream.h)和fstream(以前为fstream.h)中定义一组类。

17.1.1 流和缓冲区

C++程序通常在用户发送换行符时刷新输出缓冲区。
C++程序通常在用户按下回车键时刷新输入缓冲区。

17.1.2 流缓冲区和iostream文件

  • streambuf类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内容、刷新缓冲区和管理缓冲区内存的类方法:

  • ios_base类表示流的一般特征,如是否可读取、是二进制流还是文本流等;

  • ios类基于ios_base,其中包括了一个指向streambuf对象的指针成员;

  • ostream类是从ios类派生而来的,提供了输出方法;

  • istream类也是从ios类派生而来的,提供了输入方法:

  • iostream类是基于istream 和ostream类的,因此继承了输入方法和输出方法。

  • cin对象对应于标准输入流。在默认情况下,这个流被关联到标准输入设备(通常为键盘)。

  • couf对象与标准输出流相对应。在默认情况下,这个流被关联到标准输出设备(通常为显示器)。

  • cerr对象与标准错误流相对应,可用于显示错误消息。在默认情况下,这个流被关联到标准输出设备(通常为显示器)。这个流没有被缓冲,这意味着信息将被直接发送给屏幕,而不会等到缓冲区填满或新的换行符。

  • clog对象也对应着标准错误流。在默认情况下,这个流被关联到标准输出设备(通常为显示器)。这个流被缓冲。

  • wcin对象与此类似,但处理的是wchar_t类型。

17.2 使用cout进行输出

17.2.1 重载的<<运算符

ostream类都提供了operator<<()函数的定义:unsigned char、signed char、char、short、unsigned short、int、unsiged int、long unsigned、long、long long (C++11)、unsigned long long (C++11)、float、double、long double、const signed char *、const unsigned char *、const char *、void *。

对于其他类型的指针,C++将其对应于void *,并打印地址的数值表示。

17.2.2 其他ostream方法

ostream &put(char); //显示字符
basic_ostreamk<charT,traits> &write(const char_type *s, streamsize n); //第一个参数提供了要显示的字符串的地址,第二个参数指出要显示多少个字符。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值