栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++如何实现对文件进行读写的操作

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++如何实现对文件进行读写的操作

如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型:

数据类型描述
ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。

ifstream

该数据类型表示输入文件流,用于从文件读取信息。
fstream

该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。

打开文件

在从文件读取信息或者向文件写入信息之前,必须先打开文件。ofstream 和 fstream 对象都可以用来打开文件进行写操作,如果只需要打开文件进行读操作,则使用 ifstream 对象。

下面是 open() 函数的标准语法,open() 函数是 fstream、ifstream 和 ofstream 对象的一个成员

void open(const char *filename, ios::openmode mode);
关闭文件

当 C++ 程序终止时,它会自动关闭刷新所有流,释放所有分配的内存,并关闭所有打开的文件。但程序员应该养成一个好习惯,在程序终止前关闭所有打开的文件。

下面是 close() 函数的标准语法,close() 函数是 fstream、ifstream 和 ofstream 对象的一个成员。

void close();
写入文件

在 C++ 编程中,我们使用流插入运算符( << )向文件写入信息,就像使用该运算符输出信息到屏幕上一样。唯一不同的是,在这里您使用的是 ofstream 或 fstream 对象,而不是 cout 对象。

读取文件

在 C++ 编程中,我们使用流提取运算符( >> )从文件读取信息,就像使用该运算符从键盘输入信息一样。唯一不同的是,在这里您使用的是 ifstream 或 fstream 对象,而不是 cin 对象。

举 例
#include
#include

using namespace std;

int main()
{
	char data[100];
	//以写的模式打开
	ofstream outfile;//实例化了一个写文件的对象
	outfile.open("E:C++asdha - (4).txt");

	cout << "请输入你的数据:" << endl;
	cout << "请输入你的大名: " << endl;
	cin.getline(data, 100);
	//cin.getline() 和 cin.get()区别和联系
	//两者都读取一行输入,直至换行符,自动添加。
	//不同之处:getline将丢弃缓存区n,get()不对n换行符处理,还保留在缓存区(!!!)。

	// 向文件写入用户输入的数据
	outfile << data << endl;

	cout << "请输入你的年龄: ";
	cin >> data;
	cin.ignore();//忽略一个东西
	//它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,
	//消除上一次输入对下一次输入的影响

	// 再次向文件写入用户输入的数据
	outfile << data << endl;

	// 关闭打开的文件
	outfile.close();

	// 以读模式打开文件
	ifstream infile;  //定义一个读取的文件对象
	infile.open("afile.dat");

	cout << "E:C++asdha - (4).txt" << endl;
	infile >> data;

	// 在屏幕上写入数据
	cout << data << endl;

	// 再次从文件读取数据,并显示它
	infile >> data;
	cout << data << endl;

	// 关闭打开的文件
	infile.close();

	return 0;
}

(代码内可能会有错,里面的内容大家仅供参考)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017972.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号