文章目录
c++ IO
流对象 | 类型 | 对应设备 / 场景 | 作用 |
---|---|---|---|
cin |
istream |
标准输入(通常是键盘) | 从控制台读取用户输入 |
cout |
ostream |
标准输出(通常是屏幕) | 向控制台输出数据(缓冲输出) |
cerr |
ostream |
标准错误(通常是屏幕) | 输出错误信息(无缓冲,立即显示) |
clog |
ostream |
标准日志(通常是屏幕) | 输出日志信息(有缓冲) |
文件IO
- 文件 IO (
fstream
头文件):ifstream
:文件输入流(从文件读取数据);ofstream
:文件输出流(向文件写入数据);fstream
:文件双向流(既可读又可写)。
文件 IO 示例
C++ ifstream
/ofstream
:利用 RAII(资源获取即初始化)机制,文件在对象构造时打开,对象超出作用域时自动调用析构函数关闭文件,无论程序正常执行还是抛出异常,都能保证资源释放
#include <fstream>
#include <iostream>
using namespace std;
int main() {
// 向文件写入数据(输出流)
ofstream out("test.txt"); // 打开文件(若不存在则创建)
if (out.is_open()) { // 检查文件是否成功打开
out << "Hello, File IO!" << endl;
out << 12345 << endl;
out.close(); // 关闭文件(释放资源)
}
// 从文件读取数据(输入流)
ifstream in("test.txt");
if (in.is_open()) {
string line;
while (getline(in, line)) { // 逐行读取
cout << "文件内容:" << line << endl;
}
in.close();
}
return 0;
}
c++_io/file_io.cpp · beihangya/c++4 - 码云 - 开源中国
字符串IO
- 字符串 IO (
sstream
头文件):istringstream
:从字符串读取数据(内存输入);ostringstream
:向字符串写入数据(内存输出);stringstream
:字符串双向流(内存中读写字符串