文件和流

到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。

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

打开文件

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

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

void open(const char *filename, ios::openmode mode);

 在这里,open() 成员函数的第一参数指定要打开的文件的名称和位置,第二个参数定义文件被打开的模式。

关闭文件

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

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

void close();

写入文件

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

写入文件

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

读取 & 写入实例

下面的 C++ 程序以读写模式打开一个文件。在向文件 1.txt写入用户输入的信息之后,程序从文件读取信息,并将其输出到屏幕上:

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

int main()
{
	char data[100];
	//以写模式打开文件
	ofstream outfile;
	outfile.open("1.txt");//若没该文件则自动创建
	cout << "writing to the file" << endl;
	cout << "enter your name:" << endl;
	cin >> data;
	//向文件写入用户输入的数据
	outfile << data << endl;
	cout << "enter your age:";
	cin >> data;
	//再次向文件写入用户输入的数据
	outfile << data << endl;
	//关闭打开的文件
	outfile.close();

	//以读模式打开文件
	ifstream infile;
	infile.open("1.txt");
	cout << "Reading from the file" << endl;
	
	//按行读取
	while (infile>>data)//!infile.eof()
	{
		cout << data << endl;
	}

	infile.close();

	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_24946843/article/details/88837743
今日推荐