C++中文件ifstream和ofstream流类的操作

/*****************************************************************************************************  
文件描述:  
        STL---标准库中的标准输入输出流
文件说明:
        1)C++兼容C语言的printf、scanf函数和文件操作,但是C++也提供了基于类的输入输出操作,具有类型安全
		     和可扩展性
		2)C++流的概念:C++的输入输出是以字节流的形式实现的
		3)流:是指由若干字节组成的字节序列的数据从一个对象传递到另一个对象的操作
		4)提取操作:从流中读取数据称为提取操作
		5)插入操作:向流内插入数据称为插入操作
		6)流在使用前,要建立;在使用后,要删除
		7)与输入输出设备相关联的流称为:输入输出流
		8)标准库内置了一些可以实现输入输出操作的流类,其对象称为流对象
STL流类:
        1)ios_base和ios是抽象基类,由它派生出istream类和ostream类,再通过多重继承派生出iostream类。
		2)istream类支持输入操作,ostream类支持输出操作,iostream类支持输入输出操作,它们的定义分别在
		     <ostream>、<istream>和<iostream>,实现C++标准的设备终端(键盘和显示器)的输入输出操作。
	    1)C++对文件的输入输出操作需要用ifstream、ofstream和fstream类。
		2)ifstream类支持文件的输入,ofstream类支持文件的输出操作,fstream类支持文件的输入输出操作,它们
		     的定义在头文件<fstream>中
		3)C++将字符串也理解为一种输入输出设备,因此,也可以向终端设备和文件那样将数据输入输出到字符串中,
		     C++对字符串的输入输出操作有两个版本
			 1)基于C++字符串类string
			 2)基于C风格的字符串char*
预定义流对象:
             标准库STL将常用的iostream类的流对象定义在<iostream>头文件中,它们是:
		1)cin :与标准输入设备相关的标准输入流
		2)cout:与标准输出流设备相关的标准输出流
		3)cerr:与标准错误输出设备相关联的非缓冲方式的标准输出流
		4)clog:与标准错误输出设备相关联的缓冲方式的标准输出流
		1)cin对象是从标准输入设备到内存的数据流
		2)cout对象时从内存到标准输出设备的数据流
文件流:
        1)文件的概念:计算机信息根据存储时间可以分为临时性信息和永久性信息。
		2)临时性信息:存储于计算机系统临时设备(如内存中),在程序运行结束或者系统断电时,数据信息就会消失
		3)永久性信息:永久性信息存储于计算机系统持久型存储设备还只能怪(如磁盘--文件),在这些设备上的数据信
		     息可以长久的保存下来
		4)文件是指存放在磁盘上的数据集合,操作系统以文件为单位对这些数据进行管理。也就是说,如果想得到存在
		     磁盘上的数据,必须先按文件名找到磁盘上的文件,然后,再从该文件中读取数据;要向磁盘上存放数据
			 也必须先以文件名为标识创建一个文件,才能向它输出数据
		5)文件按数据的组织形式,可以分为两类:
		     1)ASCII文本文件
			 2)二进制文件
文件操作:
        1)文件打开:已创建的文件流对象需要和指定的磁盘文件建立关联,以便使文件流流向指定的磁盘文件,这个
		     过程称为文件的打开。
		2)打开方式有两种:
		     1)一是定义文件流对象时:使用带参数的构造函数
			 2)二是调用文件流成员函数open,其函数原型如下所示:
			 ifstream(const char* filename,ios::base::openmode mode=ios_base::in):文件输入量构造函数,以指
			      定的mode打开filename文件
			 ofstream()
			 fstream()
			 open()
			 is_open()
		3)文件关闭:close()
		4)文件状态:
		     1)bool eof()---如果文件已经到了末尾,eof函数返回真(1),否则返回假(0)
			 2)bool bad()----如果在读写文件过程中出错,bad函数返回true
			 3)bool fail()
			 4)bool good()
时间地点:  
        陕西师范大学----2017.3.13 
作    者:  
        九月  
*****************************************************************************************************/ 
#include<fstream>
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
	char s1[500];
	int  cnt = 0;

	std::ifstream inf("a.txt");               //【1】打开源文件读
	if(!inf.eof())
	{
		std::ofstream outf("b.txt");
		while(!inf.eof())
		{
			inf.getline(s1,sizeof(s1)-1);
			outf<<setfill('0')<<setw(4)<<++cnt<<""<<s1<<endl;
		}
		outf.close();
		inf.close();
	}
	std::system("pause");
	return 0;
}

### 回答1: c++ifstreamofstream是用于文件输入输出的流类。其ifstream用于从文件读取数据,而ofstream用于向文件写入数据。 ifstream类继承自istream类,可以使用istream类的所有函数,同时也有自己的一些函数,如open()、close()等。通过open()函数打开文件后,可以使用>>运算符从文件读取数据。 ofstream类继承自ostream类,可以使用ostream类的所有函数,同时也有自己的一些函数,如open()、close()等。通过open()函数打开文件后,可以使用<<运算符向文件写入数据。 使用ifstreamofstream可以方便地进行文件的读写操作,是c++常用的文件操作方式之一。 ### 回答2: C++ifstreamofstream是两个非常重要的文件操作流。它们是派生自fstream类的输入和输出流。ifstream是一个流,用于从文件读取数据;而ofstream则是一个流,用于将数据写入文件。 #include <fstream> using namespace std; //读取文件的数据 ifstream myfile("example.txt"); string line; if(myfile.is_open()){ while(getline(myfile, line)){ cout<<line<<'\n'; } myfile.close(); } else{ cout<<"Unable to open file"<<'\n'; } //向文件写入数据 ofstream myfile("example.txt"); if(myfile.is_open()){ myfile<<"This is an example"<<'\n'; myfile.close(); } else{ cout<<"Unable to open file"<<'\n'; } 这里的例子,我们打开了名为example.txt的文件,并从读取了数据。接着我们用ofstream类将数据写入文件。在读取和写入完成后,我们必须关闭文件,以确保操作的完成。如果文件未能打开,则程序将返回一个错误信息。 总之,ifstreamofstreamc++最基本的文件操作流。使用它们,在文件读取和写入数据将变得非常简单。但是,程序员必须始终牢记关闭文件以确保操作的安全性。 ### 回答3: c++ifstreamofstream文件输入输出流,它们可以用来读取和写入文件。其ifstream指的是输入文件流,用来读取文件的内容,而ofstream是输出文件流,用来向文件写入内容。 首先,我们需要打开要读取或写入的文件。对于ifstream来说,我们需要使用open()函数来打开一个文件,并把文件名作为参数传递进去。例如,可以这样打开一个名为“example.txt”的文件: ``` ifstream inputFile; inputFile.open("example.txt"); ``` 对于ofstream来说,我们也需要使用open()函数打开一个文件,并把文件名和文件模式作为参数传递进去。文件模式指定了我们打开文件时的目的,例如,为了读取内容,我们需要打开文件的输入模式。而为了写入内容,我们需要打开文件的输出模式。以下是打开输出模式的示例: ``` ofstream outputFile; outputFile.open("example.txt", ios::out); ``` 在读取和写入文件时,我们需要用到流插入操作符“<<”和“>>”。对于ifstream,我们使用“>>”来读取文件的内容并将其存储到变量。例如,下面的示例将从文件读取一个整数并将其存储在变量: ``` int num; inputFile >> num; ``` 对于ofstream,我们使用“<<”将内容写入文件。例如,下面的示例将一个字符串写入到文件: ``` outputFile << "Hello World!"; ``` 最后,当我们完成读取和写入文件时,我们需要使用close()函数关闭文件。例如: ``` inputFile.close(); outputFile.close(); ``` 总的来说,ifstreamofstreamC++用于读取和写入文件的非常有用的文件流。通过它们,我们可以方便地操作文件并读取或写入文件的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值