Cpp 文件读写操作

概述:对fin fout做个简单小结。

#include <fstream>

1、打开输入文件(fin 将文件内容读出)

    ifstream fin(argv[1]);
    if (!fin) {
        cout << "file " << argv[1] << " does not exist." << endl;
        return 1;
    }

创建一个 std::ifstream 对象 fin,并使用命令行参数传递的文件名来 打开输入文件

2、循环读取文件,直到到达文件末尾

while (!fin.eof()) {



    if (!fin.good()) break; // 检查流状态:如果输入流状态不正常,则退出循环。
}

fin.eof() 是 C++ 中用于检查输入流(如文件流)是否到达文件末尾的成员函数。如果流已经到达文件末尾,则返回 true;否则返回 false。

3、读取字符,并存储

string name;
fin >> name;
    if (name == "VERTEX_SE3:QUAT") {

    } else if (name == "EDGE_SE3:QUAT") {  

    }

从输入流 fin 中读取一个字符,并将其存储在字符串变量 name 中。

根据读取到的单词执行对应的操作

fin >> idx1 >> idx2;

连续读取字符。

先从输入流 fin 中读取第一个字符并赋值给 idx1。然后从输入流 fin 中读取第二个字符并赋值给 idx2

4、打开输出文件(fout 将内容写入文件)

ofstream fout("result_lie.g2o");

创建一个 ofstream 对象 fout,并使用构造函数打开名为 result_lie.g2o 的文件。

如果文件不存在,ofstream 会创建一个新文件;如果文件已存在,则会覆盖原有内容。

5、将数据写入文件

fout << "VERTEX_SE3:QUAT ";

将字符串 "VERTEX_SE3:QUAT " 写入输出流 fout。

6、关闭输出文件

fout.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值