[C++]1.19 文件操作等

文件应用场景:

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

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

而操作文件分三种:

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();
        

读文件↑ 

你可能感兴趣的:(c++,开发语言)