20.C++之文件操作

学习目标:

在这里插入图片描述


学习内容:

1.文件操作

程序运行时产生的数据都属于临时数据,程序结束后就会释放。通过文件将数据持久化。C++中对文件操作需要包含头文件<fstream>,文件类型主要包括文本文件和二进制文件:

  • 文本文件:文件以文本的ASCII码的形式存储子在计算机中;
  • 二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂他们;(略)

操作文件的三大类:

  • ofstream:写操作
  • ifstream:读操作
  • fstream:读写操作

2.文本文件之写文件

主要流程为:

  1. 包含头文件<fstream>;
  2. 创建流对象:ofstream ofs;
  3. 打开文件:ofs.open("文件路径",打开方式)
  4. 写数据:ofs <<"写数据"<<endl;;
  5. 关闭文件:ofs.close();;
打开文件解释
ios::in为读文件而打开文件
ios::out为写文件而打开文件
ios::ate初始位置:文件尾
ios::app追加方式写文件
ios::trunc若文件存在,则先删除在创建
**ios::binary二进制方式

注意:文件的打开方式可以配合使用,利用操作符 ’|‘

2.1 文本文件写文件
//写入文件!!
#include<iostream>
#include<fstream>
using namespace std;
void test()
{
	ofstream ofs; //创建流对象
	ofs.open("test.txt", ios::out); // 打开文件
	ofs << "name: Jack" << endl;
	ofs << "age: 18" << endl;
	ofs.close();
	cout << "成功写入文件!!" << endl;
	cout << "-------------------------" << endl;
}
int main()
{
	test();
	system("pause");
	return 0;
}

在这里插入图片描述
在这里插入图片描述

2.2 文本文件读文件

文本文件读文件的步骤:

  • 包含头文件<fstream>
  • 创建流对象 ifstream ifs;
  • 打开文件判断文件是否存在
    ifs.open("文件路径",打开方式)
    ifs.is_open();
  • 读取数据的四种方式;
  • 关闭文件:ifs.close()
读文件
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void test()
{
	ifstream ifs;
	ifs.open("test.txt", ios::in);
	if (!ifs.is_open())
	{
		cout << "文件不存在!!" << endl;
		return;
	}
	//方法一:以空格为分界线
	char buf[1024] = { 0 };
	while (ifs >> buf)
	{
		cout << buf << endl;
	}

	//方法二:以行为分界线
	/*char buf[1024] = { 0 };
	while(ifs.getline(buf,sizeof(buf)))
	{
		cout << buf << endl;
	}*/

	//方法三:以行为分界线,推荐使用这种方法!!
	/*string buf;
	while (getline(ifs, buf))
	{
		cout << buf << endl;
	}*/

	//方法四:逐个字符输出,效率低下
	/*char c;
	while ((c = ifs.get()) != EOF)
	{
		cout << c;
	}*/

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

在这里插入图片描述
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值