C流是什么意思?

摘要:在 C++ 标准库中,stream(流)是处理输入输出(IO)的核心抽象,分为输入流(istream)、输出流(ostream)、输入输出流(iostream)等多种类型,且支持面向不同设备(文件、字符
在 C++ 标准库中,stream(流)是处理输入输出(I/O)的核心抽象,分为输入流(istream)、输出流(ostream)、输入输出流(iostream)等多种类型,且支持面向不同设备(文件、字符串、控制台等)的具体流类型。 Stream 类型 类别 主要类型及说明 头文件 输入流 std::istream:通用输入流基类 <istream> std::ifstream:文件输入流 <fstream> std::istringstream:字符串输入流 <sstream> 输出流 std::ostream:通用输出流基类 <ostream> std::ofstream:文件输出流 <fstream> std::ostringstream:字符串输出流 <sstream> 输入输出流 std::iostream:通用输入输出流基类 <iostream> std::fstream:文件输入输出流 <fstream> std::stringstream:字符串输入输出流 <sstream> 标准流对象 std::cin:标准输入流(全局对象) <iostream> std::cout:标准输出流(全局对象) <iostream> std::cerr:标准错误输出流(无缓冲) <iostream> std::clog:标准错误输出流(带缓冲) <iostream> 继承关系简图(简化版) 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::cin std::istream 标准输入流,通常关联键盘输入 带缓冲 从键盘或重定向输入读取数据 std::cout std::ostream 标准输出流,通常关联控制台显示 带缓冲 向控制台或重定向输出写数据 std::cerr std::ostream 标准错误输出流,关联控制台显示 无缓冲 用于错误或即时输出提示 std::clog std::ostream 标准日志输出流,关联控制台显示 带缓冲 用于程序日志信息输出 1. std::cin - 标准输入流 类型:std::istream 默认关联设备:键盘(终端输入) 用法: int x; std::cin >> x; // 从标准输入读取一个整数 缓冲:带缓冲。输入时会先缓冲一部分数据,通常是整行读取后交给程序处理。 支持格式化输入:operator>> 会自动跳过空白、换行,进行类型转换。 支持重定向:例如从文件读取时,命令行重定向输入 program < input.txt。 2. std::cout - 标准输出流 类型:std::ostream 默认关联设备:控制台(终端显示) 用法: std::cout << "Hello, world!" << std::endl; 缓冲:带缓冲。缓冲区满或者遇到 std::endl 会刷新缓冲区写到终端。 支持各种类型的格式化输出(整型、浮点、字符串、自定义类型重载 operator<<)。 支持重定向:例如把输出写入文件 program > output.txt。 3. std::cerr - 标准错误输出流 类型:std::ostream 默认关联设备:控制台(终端显示) 无缓冲输出:写入时立即发送到终端,适合打印错误或警告信息,确保及时可见。
阅读全文