找回密码
 立即注册
首页 业界区 业界 C++ 流
套缈 7 天前
在 C++ 标准库中,stream(流)是处理输入输出(I/O)的核心抽象,分为输入流(istream)、输出流(ostream)、输入输出流(iostream)等多种类型,且支持面向不同设备(文件、字符串、控制台等)的具体流类型。
Stream 类型

类别主要类型及说明头文件输入流std::istream:通用输入流基类std::ifstream:文件输入流std::istringstream:字符串输入流输出流std:stream:通用输出流基类std:fstream:文件输出流std:stringstream:字符串输出流输入输出流std::iostream:通用输入输出流基类std::fstream:文件输入输出流std::stringstream:字符串输入输出流标准流对象std::cin:标准输入流(全局对象)std::cout:标准输出流(全局对象)std::cerr:标准错误输出流(无缓冲)std::clog:标准错误输出流(带缓冲)继承关系简图(简化版)
  1. std::ios_base
  2.     └── std::ios
  3.            ├── std::istream
  4.            │      ├── std::ifstream
  5.            │      └── std::istringstream
  6.            ├── std::ostream
  7.            │      ├── std::ofstream
  8.            │      └── std::ostringstream
  9.            └── std::iostream
  10.                   ├── std::fstream
  11.                   └── std::stringstream
复制代码
一、标准流

C++ 标准库定义了四个主要的标准流对象:
对象名类型功能描述缓冲机制用途std::cinstd::istream标准输入流,通常关联键盘输入带缓冲从键盘或重定向输入读取数据std::coutstd:stream标准输出流,通常关联控制台显示带缓冲向控制台或重定向输出写数据std::cerrstd:stream标准错误输出流,关联控制台显示无缓冲用于错误或即时输出提示std::clogstd:stream标准日志输出流,关联控制台显示带缓冲用于程序日志信息输出1. std::cin - 标准输入流


  • 类型:std::istream
  • 默认关联设备:键盘(终端输入)
  • 用法:
  1. int x;
  2. std::cin >> x;  // 从标准输入读取一个整数
复制代码

  • 缓冲:带缓冲。输入时会先缓冲一部分数据,通常是整行读取后交给程序处理。
  • 支持格式化输入:operator>> 会自动跳过空白、换行,进行类型转换。
  • 支持重定向:例如从文件读取时,命令行重定向输入 program < input.txt。
2. std::cout - 标准输出流


  • 类型:std:stream
  • 默认关联设备:控制台(终端显示)
  • 用法:
[code]std::cout
您需要登录后才可以回帖 登录 | 立即注册