在 C++ 中,流(stream)是一种用于实现输入输出操作的抽象概念。流可以看作是字节的流动,这些字节可以从一个地方流向另一个地方,例如从键盘输入到程序中,或者从程序输出到屏幕。C++ 提供了一套完整的流库来处理各种类型的输入和输出,包括文件 I/O、字符串处理等。本文将详细介绍 C++ 中使用流进行输入和输出的方法,并结合实际案例进行讲解。
一、输入输出流的基本概念
在 C++ 中,流是通过流对象来操作的。流对象是 std
命名空间中的类模板实例化得到的对象,主要包括 istream
、ostream
和 iostream
三种类型。其中,istream
用于输入操作,ostream
用于输出操作,而 iostream
是前两者的组合。
1.1 标准输入输出流对象
C++ 预定义了四个标准流对象,分别是 cin
、cout
、cerr
和 clog
。它们分别对应于标准输入、标准输出、标准错误和标准日志。
示例代码:
#include <iostream>
int main() {
// 使用 cout 输出一段文本
std::cout << "Hello, World!" << std::endl;
// 使用 cin 读取一个整数
int x;
std::cin >> x;
std:cout << "You entered: " << x << std::endl;
return 0;
}
二、格式化输入输出
C++ 提供了一些操纵符(manipulator)来控制输出格式,例如设置填充字符、对齐方式、宽度等。
2.1 设置输出格式
示例代码:
#include <iostream>
#include <iomanip>
int main() {
int num = 12345;
// 设置宽度为 10,向右对齐,不足位用 '0' 补齐
std::cout << std::setw(10) << std::right << std::setfill('0') << num << std<