c++ 文件操作

c++ 文件操作相关类:

ofstream: 写操作(输出)的文件类 (由ostream引申而来)

ifstream: 读操作(输入)的文件类(由istream引申而来)

fstream: 可同时读写操作的文件类 (由iostream引申而来)

文件打开

方式一:

ofstream file ("example.bin", ios::out | ios::app | ios::binary);

方式二:

ofstream file;
file.open ("example.bin", ios::out | ios::app | ios::binary);

文件打开属性:

ios::in

为输入(读)而打开文件

ios::out

为输出(写)而打开文件

ios::ate

初始位置:文件尾

ios::app

所有输出附加在文件末尾

ios::trunc

如果文件已存在则先删除该文件

ios::binary

二进制方式

文件打开默认属性:

参数的默认方式

ofstream

ios::out | ios::trunc

ifstream

ios::in

fstream

ios::in | ios::out

文件读写

方式一:

        if (_fS_distance.bad() || _fS_distance.fail())
        {
            _fS_distance.close();
        }

        if (_fS_distance.is_open() != true)
        {
            _fS_distance.open("/root/distance", std::ios::in | std::ios::out);
        }

        _fS_distance.seekg(std::ios::beg);
        _fS_distance << _distance;//写文件
    _fS_distance.open("/root/distance", std::ios::in | std::ios::out);
    if (_fS_distance.is_open() == false)
    {
        return -1;
    }
    if (_fS_distance.bad() || _fS_distance.fail())
    {
        _fS_distance.close();
        return -11;
    }
    _fS_distance >> _distance;//文件值赋值_distance

方式二:

_fS_distance.write(data,dataLen);
_fS_distance.read()

文件seek

seekp:设置输出文件流的文件流指针位置
seekg:设置输入文件流的文件流指针位置
函数原型:
        ostream& seekp( streampos pos );
        ostream& seekp( streamoff off, ios::seek_dir dir );
        istream& seekg( streampos pos );
        istream& seekg( streamoff off, ios::seek_dir dir );
函数参数
        pos:新的文件流指针位置值
        off:需要偏移的值
        dir:搜索的起始位置
        dir参数用于对文件流指针的定位操作上,代表搜索的起始位置
在ios中定义的枚举类型:
        ios::beg:文件流的起始位置
        ios::cur:文件流的当前位置
        ios::end:文件流的结束位置

文件关闭

 _fS_distance.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值