[C++]1.19 文件 *** 作等

[C++]1.19 文件 *** 作等,第1张

文件应用场景:

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

文件类型分为两种:文本文件(asclass="superseo">cii码存储)和二进制文件(二进制存储)。

而 *** 作文件分三种:

ostream        写 *** 作
istream读 *** 作
fstream读写 *** 作

文件 *** 作步骤:

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

1.预设头文件:include

2.创建流对象:ofstream ofs;

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

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

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<<"文件打开失败"<  }
 
 Person p;
 ifs.read((char*)&p,sizeof(p));
 cout<  ifs.close();
        

读文件↑ 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/994003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存