0
点赞
收藏
分享

微信扫一扫

C++ 43.文件操作—文本文件(文件分类、写文件、读文件)

技术只适用于干活 2022-03-21 阅读 92

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放。
通过文件可以将数据持久化
C++中对文件操作需要包含头文件 <fstream>
文件类型分为两类:
1.文本文件:文件以文本的ASCII码形式存储在计算机中
2.二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们
操作文件的三大类:
1.ofstream:写操作
2.ifstream:读操作
3.fstream:读写操作
写文本文件步骤:
1.包含头文件  #include<fstream>
2.创建流对象  ofstream ofs;
3.打开文件    ofs.open("文件路径",打开方式);
4.写数据      ofs<<"写入的数据";
5.关闭文件    ofs.close();
文件打开方式:

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

例如:用二进制方式写文件 ios::binary  |  ios::out

读文件步骤:
1.包含头文件  #include<fstream>
2.创建流对象  ifstream ifs;
3.打开文件并判断文件是否打开成功    ifs.open("文件路径",打开方式);
4.读数据      四种方式读取
5.关闭文件    ifs.close();

#include<iostream>
using namespace std;
#include<fstream>
#include<string>

void test01()
{
	//1.包含头文件  #include<fstream>

	//2.创建流对象  
	ofstream ofs;

	//3.打开文件   
	ofs.open("test.txt", ios::out);//右击鼠标,打开文件位置,可找到新写的文件 

	//4.写数据     
	ofs << "姓名:张三" << endl;
	ofs << "性别:男" << endl;
	ofs << "姓名:网二" << endl;
	ofs << "性别:女" << endl;

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

void test02()
{
	//1.包含头文件  #include<fstream>

	//2.创建流对象  
	ifstream ifs;

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

	//4.读数据      四种方式读取

	//第一种
	//char buf[1024] = { 0 };//1024的字符数组
	//while ( ifs >> buf )//将ifs 放到 buf数组
	//{
	//	cout << buf << endl;
	//}

	//第二种
	//char buf[1024] = { 0 };//1024的字符数组
	//while (ifs.getline(buf,sizeof(buf)))//将ifs 放到 buf数组
	//{
	//	cout << buf << endl;
	//}

	//第三种
	//string buf;
	//while (getline(ifs, buf))//将ifs 放到 buf
	//{
	//	cout << buf << endl;
	//}

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

	//5.关闭文件    
	ifs.close();
}
int main()
{
	//test01();
	test02();

	system("pause");
	return 0;
}
举报

相关推荐

0 条评论