0
点赞
收藏
分享

微信扫一扫

上位机图像处理和嵌入式模块部署(上位机主要功能)

霸姨 2024-02-19 阅读 12

目录

前言:

对于输入输出流解释:

为什么要学习文件操作?有什么用?

分类:

分为文本文件和二进制文件

操作文件的三大类流

ofstream:

ifstream:

fstream:

⭐对于文件流对象的解读

1.文本文件:

1.1如何写文件?

文件打开方式:

代码示例:

如何查看文件?

1.2如何读文件?

文件读取的方式:

方法一:

方法二:

方法三:

2.二进制文件 

2.1写文件

步骤:

⭐利用流对象调用write函数

代码示例:

2.2读取文件

代码示例:

总结:


前言:

对于输入输出流解释:

在C++中,输入输出是同流来完成的。

因此我们可以把输入和输出操作看成字符序列在源、目标以及对象之间的流动

为什么要学习文件操作?有什么用?

因为大部分数据临时数据,在程序执行完毕会销毁,有时候需要有一些重要数据保存,所以需要在文件里进行保存

通过文件使数据持久化,而文件操作时要包含一个头文件——> <fstream>

分类:

分为文本文件和二进制文件

文本文件是文件以ASCII码的形式存储在计算机中

二进制文件数据以二进制形式存储在计算机中,用户一般不能读懂,但是可以正常读取出来

操作文件的三大类流

1.文本文件:

2.二进制文件 

如何用二进制的方式对这个文件进行读写操作?

打开方式用ios::binary

注意:读出来为乱码但是文件看不懂没关系

2.1写文件

二进制可以操作很多数据类型

代码示例:

void test1() {
	ofstream o; //创建流对象
	o.open("testbin.txt", ios::out | ios::binary);  //二进制方式打开
    //这里上面12步可以合为一步
    //ofstream ofs("person.txt", ios::out | ios::binary);
	Person p = { "小红",12 }; 
	//把对象写入到o
	o.write((const char*)&p, sizeof(p));
	//关闭文件
	o.close();
}

2.2读取文件

代码示例:

#define  _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>
using namespace std; 
//避免用string,因为string实际上是一个类而不是类型,实现的东西有限
class person
{
public:
    char m_name[12];
    int m_age;

};
void test1()
{
    //包含头文件
    //创建流对象
    ifstream ifs;
    //打开文件
    ifs.open("person.txt", ios::in | ios::binary);
    if (!ifs.is_open()) {
        cout << "文件打开错误" << endl;
        return;
    }
    //读取文件
    person p;
    ifs.read((char*)&p, sizeof(person));//这里不用const,因为读取文件不需要防止更改文件内容
    cout << "年龄:"<<p.m_age <<"姓名:" << p.m_name << endl;
    //关闭文件
    ifs.close();
}

int main()
{
    test1();
    system("pause");
    return 0;
}

总结:

有关文件操作的内容就介绍完毕,感谢浏览,欢迎点赞收藏专栏,如有错误,请大佬指正,谢谢

举报

相关推荐

0 条评论