[C++]1.19 文件操作等

文件应用场景:

程序数据属于临时数据,程序一旦运行结束都会被释放。而通过文件可以实现数据持久化,将数据保留下来。

文件类型分为两种:文本文件(ascii码存储)和二进制文件(二进制存储)。

而操作文件分三种:

ostream        写操作
istream读操作
fstream读写操作

文件操作步骤:

写文件示例(读文件是ifs)

1.预设头文件:include<fstream>

2.创建流对象:ofstream ofs;

3.(进入)打开文件:ofs.open("文件路径",“打开方式”);

4.操作文件数据:ofs<<"写点什么呢?"<<endl ;

5.关闭文件:ofs.close() ;

PS:

读文件失败时可以加个判断语句IF(!ifs.is_open())

读文件四种方式:while配合字符数组;配合getline;string;char配合get()

流对象和打开文件可以同时初始化

关于文件操作的打开方式:

ios::in为读文件而打开文件

ios::out

为写文件而打开文件
ios:ate使初始位置在文件尾
ios::app追加方式写文件
ios::binary二进制方式
ios:trunc如果文件存在,就先删除再创建

当然,打开方式可以混合使用,配合“|” 或 运算符。

二进制文件

文件输出流对象,通过write函数以二进制方式写数据,通过read函数以二进制方式读数据。

class Person{
    public:
        char name[64];
        int age;
};

这个类作为我们操作文件的媒介。

    ofstream ofs;
    ofs.open("person.txt",ios::binary|ios::out);
    Person p={"张三",18};
    ofs.write((const char*)&p,sizeof(p)) ;
    ofs.close();

写文件↑

 ifstream ifs;
 ifs.open("person.txt",ios::in|ios::binary);


 if(!ifs.is_open()){
     cout<<"文件打开失败"<<endl;
 }
 
 Person p;
 ifs.read((char*)&p,sizeof(p));
 cout<<p.name<<endl<<p.age<<endl;
 ifs.close();
        

读文件↑ 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值