C++文件操作

C++文件操作

**文件操作需要包含头文件:
#include<fstream> 读写操作
#include<ifstream> 读操作
#include<fstream> 写操作

文件类型分为两种:
1.文本文件:文件以文本的ASCLL码形式存储在计算机中
2.二进制文件:文件以二进制形式存储在计算机中,用户一般不能直接读懂它们

1.文本文件——写文件

写文件步骤如下:
1.包含头文件

#include<fstream>

2.创建流对象

ofstream ofs;

3.打开文件

//ofs.open("文件路径",打开方式);
ofs.open("test.txt",ios::out);

4.写入数据

ofs<<"写入的数据";

5.关闭文件

ofs.close();

打开方式:

打开方式解释
ios::in为读文件而打开文件
ios::out为写文件而打开方式
ios::ate初始位置:文件尾
ios::app追加方式写文件
ios::trunc如果文件存在先删除,再创建
ios::binary二进制方式
注意:文件打开方式可以配合使用,利用 | 操作符
例如:用二进制写文件ios::binary | ios::out

2.文本文件——读文件

写文件步骤如下:
1.包含头文件

#include<fstream>

2.创建流对象

ifstream ifs;

3.打开文件- 判断打开文件是否成功

//打开文件  并且判断是否打开成功
	ifs.open("test.txt", ios::in);
	if (!ifs.is_open())
	{
		cout << "打开文件失败" << endl;
		return;
	}
	else
	{
		cout << "打开文件成功" << endl;
	}

4.读数据

//四种方式
//第一种
	char test[1000] = { 0 };
	while (ifs >> test)
	{
		cout << test << endl;
	}

	//第二种
	char test[1000] = { 0 };
	while (ifs.getline(test, sizeof(test)))
	{
		cout << test << endl;
	}

	//第三种
	string test;
	while (getline(ifs, test))
	{
		cout << test << endl;
	}

	//第四种
	char c;
	while ((c = ifs.get()) != EOF)    //EOF  end of file
	{
		cout << c;
	}

5.关闭文件

ifs.close();

3.二进制文件——写文件

写文件步骤如下:
1.包含头文件

#include<fstream>

2.创建流对象

ofstream ofs;

3.打开文件

//ofs.open("文件路径",打开方式);
ofstream ofs("aaa.txt", ios::out | ios::binary);

4.写入数据

//写文件
	Person p = { "小刘",16 };
	ofs.write((const char*)&p, sizeof(Person));

5.关闭文件

//关闭文件
	ofs.close();

4.二进制文件——读文件

写文件步骤如下:
1.包含头文件

#include<fstream>

2.创建流对象

ifstream ifs;

3.打开文件

/打开文件  判断文件是否打开成功
	ifs.open("aaa.txt", ios::in | ios::binary);

	if (!ifs.is_open())
	{
		cout << "打开失败" << endl;
		return;
	}

4.读文件

Person p;

	ifs.read((char*)&p, sizeof(Person));
	cout << "姓名:" << p.m_name << "    年龄:" << p.m_age << endl;


5.关闭文件

//关闭文件
	ifs.close();

时间:2020.10.23

明天目标:

  • 学习c++模板
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值