【C++学习笔记】文件的读写

【C++学习笔记】文件的读写,第1张

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 前言
  • 一、C++文件读取的类库
  • 二、使用步骤
    • 1.ofstream 内存的数据保存至硬盘
    • 2.ifstream 内存读取硬盘的数据


前言

文件的读写可以理解为:内存和硬盘之间的数据交换,读和写的视角是内存。
文件的读是指:内存读取硬盘的数据;
文件的写是指:内存的数据保存至硬盘。


一、C++文件读取的类库

ifstream 内存读取硬盘的数据
ofstream 内存的数据保存至硬盘

二、使用步骤 1.ofstream 内存的数据保存至硬盘

代码如下(示例):

#include 
#include   //文件流类库的头文件
using namespace std;



int main()
{
	string name;
	int age;
	string male;

	//构造函数写法,参数为:文件路径、和文件打开模式
	//打开模式:
	//ios_base::app:   以追加的方式打开文件
	//ios_base::ate:   文件打开后定位到文件尾,ios:app就包含有此属性
	//ios_base::binary:  以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
	//ios_base::in:    文件以输入方式打开(文件数据输入到内存)
	//ios_base::out:   文件以输出方式打开(内存数据输出到文件)
	//ios_base::nocreate: 不建立文件,所以文件不存在时打开失败
	//ios_base::noreplace:不覆盖文件,所以打开文件时如果文件存在失败
	//ios_base::trunc:  如果文件存在,把文件长度设为0
	ofstream file("test.txt", ios_base::app);

	//当打开文件失败时,返回false
	if (!file) cout << "由于某种原因,文件打开失败" << endl;
	else
	{
		cout<< "请输入姓名:";
		cin >> name;
		cout << "请输入年龄:";
		cin >> age;
		cout << "请输入性别:";
		cin >> male;
		
		file << "姓名:" << name<<endl
			 << "年龄:" << age << endl
			 <<"性别:" << male << endl;
	}
	return 0;
}
2.ifstream 内存读取硬盘的数据

打开刚才保存的文件test.txt
代码如下(示例):

#include 
#include   //文件流类库的头文件
using namespace std;



int main()
{
	string end; //文件尾
	string text[3];//初始化数组
	int i = 0;

	ifstream file;
	file.open("test.txt");

	if (!file) cout << "由于某种原因,文件打开失败" << endl;
	else
	{
		while (file >> end) //到达文件尾部返回为0
		{
			text[i] = end;
			i++;
		}
	}
	cout << text[0] << endl
		<< text[1] << endl
		<< text[2] << endl;

	return 0;
}

还可以写为

#include 
#include   //文件流类库的头文件
using namespace std;



int main()
{
	string name, age, fale;
	ifstream file;
	file.open("test.txt");

	if (!file) cout << "由于某种原因,文件打开失败" << endl;
	else
	{
		file >> name >> age >> fale;
		cout << name << endl
			<< age << endl
			<< fale << endl;

	}
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/797857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存