高并发日志项目中,C++IO的使用

文章目录

c++ IO

流对象 类型 对应设备 / 场景 作用
cin istream 标准输入(通常是键盘) 从控制台读取用户输入
cout ostream 标准输出(通常是屏幕) 向控制台输出数据(缓冲输出)
cerr ostream 标准错误(通常是屏幕) 输出错误信息(无缓冲,立即显示)
clog ostream 标准日志(通常是屏幕) 输出日志信息(有缓冲)

文件IO

高并发日志项目

  • 文件 IOfstream 头文件):
    • 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

  • 字符串 IOsstream 头文件):
    • istringstream:从字符串读取数据(内存输入);
    • ostringstream:向字符串写入数据(内存输出);
    • stringstream:字符串双向流(内存中读写字符串
相关推荐
sheji5261几秒前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
2301_763472461 分钟前
C++网络编程(Boost.Asio)
开发语言·c++·算法
毕设源码-邱学长2 分钟前
【开题答辩全过程】以 基于Java Web的电子商务网站的用户行为分析与个性化推荐系统为例,包含答辩的问题和答案
java·开发语言
程序员清洒7 分钟前
Flutter for OpenHarmony:Text — 文本显示与样式控制
开发语言·javascript·flutter
摇滚侠17 分钟前
Java项目教程《尚庭公寓》java项目从开发到部署,技术储备,MybatisPlus、MybatisX
java·开发语言
轩情吖28 分钟前
Qt的窗口
开发语言·c++·qt·窗口·工具栏·桌面级开发
€81129 分钟前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战
L1869245478238 分钟前
无外设条件下的自动找眼V2
c++
hcnaisd239 分钟前
深入理解C++内存模型
开发语言·c++·算法
凯子坚持 c43 分钟前
Qt常用控件指南(8)
开发语言·数据库·qt