C++ 流
在 C++ 标准库中,stream(流)是处理输入输出(I/O)的核心抽象,分为输入流(istream)、输出流(ostream)、输入输出流(iostream)等多种类型,且支持面向不同设备(文件、字符串、控制台等)的具体流类型。Stream 类型
类别主要类型及说明头文件输入流std::istream:通用输入流基类std::ifstream:文件输入流std::istringstream:字符串输入流输出流std::ostream:通用输出流基类std::ofstream:文件输出流std::ostringstream:字符串输出流输入输出流std::iostream:通用输入输出流基类std::fstream:文件输入输出流std::stringstream:字符串输入输出流标准流对象std::cin:标准输入流(全局对象)std::cout:标准输出流(全局对象)std::cerr:标准错误输出流(无缓冲)std::clog:标准错误输出流(带缓冲)继承关系简图(简化版)
std::ios_base
└── std::ios
├── std::istream
│ ├── std::ifstream
│ └── std::istringstream
├── std::ostream
│ ├── std::ofstream
│ └── std::ostringstream
└── std::iostream
├── std::fstream
└── std::stringstream一、标准流
C++ 标准库定义了四个主要的标准流对象:
对象名类型功能描述缓冲机制用途std::cinstd::istream标准输入流,通常关联键盘输入带缓冲从键盘或重定向输入读取数据std::coutstd::ostream标准输出流,通常关联控制台显示带缓冲向控制台或重定向输出写数据std::cerrstd::ostream标准错误输出流,关联控制台显示无缓冲用于错误或即时输出提示std::clogstd::ostream标准日志输出流,关联控制台显示带缓冲用于程序日志信息输出1. std::cin - 标准输入流
[*]类型:std::istream
[*]默认关联设备:键盘(终端输入)
[*]用法:
int x;
std::cin >> x;// 从标准输入读取一个整数
[*]缓冲:带缓冲。输入时会先缓冲一部分数据,通常是整行读取后交给程序处理。
[*]支持格式化输入:operator>> 会自动跳过空白、换行,进行类型转换。
[*]支持重定向:例如从文件读取时,命令行重定向输入 program < input.txt。
2. std::cout - 标准输出流
[*]类型:std::ostream
[*]默认关联设备:控制台(终端显示)
[*]用法:
std::cout
页:
[1]