文件I/O

来源:互联网 发布:淘宝模特街拍 编辑:程序博客网 时间:2024/05/19 03:22

文件输入/输出

C++允许程序直接从辅助存储器读取数据,也可以直接将输出保存到辅助存储器中。程序可以使用文件I/O,从文件读取数据或将数据写入文件。C++不会自动初始化用户定义的变量,一旦声明了fstream变量,必须将这些文件变量与输入输出源联系起来。

文件I/O分为5步:

(1)在程序中包含头文件fstream

(2)声明文件流变量;

(3)将文件流变量和输入/输出源相关联;

(4)将文件流变量与<<>>以及其他输入/输出函数一起使用;

(5)关闭文件;

 

详细说明:
第一步:#include<fstream>

 

第二步:ifstream inData;

        Ofstream outData;

 

第三步:称为打开文件;流成员函数open用于打开文件。打开一个文件的语法为:

fileStreamVariable.open(sourceName);

此处的fileStreamVariable是一个文件流变量,sourceName是一个输入/输出文件的名称。

inData.open(“a://prog.data”);  //open the input file

outputData.open(“a://prog.out”);   //open the output file 

// C++中,/是转义字符,如果c++项目和输入文件在相同目录下,就不需要在文件名之前加上a://。类似的,如果想把输出文件保存在与C++程序相同的目录中,就可以在文件名之前省略a://。这些选择与SDK有关。

 

第四步:文件流变量与<<>>一同使用的语法和使用cincout的语法完全一样。可以使用声明过的文件流变量取代cincout。例如,语句:

inData>>payRata;

从文件pro.data读入数据并将其存入变量payRata中。语句:

OutData<<”The paycheck is :$”<<pay<<endl;

将输出(The paycheck is :$565.78)存入文件prog.out中。该语句假设薪酬为565.78.

 

第五步:要求关闭文件。关闭文件意味着文件流变量与存储区域断开,释放文件流变量。一旦释放了这些变量,可以将它们重新用于其他文件I/o.此外,关闭文件保证了输出被完整地发送到文件;也就是说,缓冲区是空的。使用流函数close关闭文件。关闭文件的语句:

inData.close();

outData.close();

 

一个使用文件I/O的程序通常的框架形式如下:

#include<fstream>

//Add any additional header files that you use

Using namespace std;

 

Int main()

{

//Declare file streram variables such as the following

Ifstream inData;

Ofstream outdata;

 

//declare additional variables if any

 

//open files

inData.open(“a://prog.dat”);   //open the input file

outData.open(“a://prog.out”);  //open the output file

 

//code for data manipulation

 

//Close files

inData.close();

outData.close();

 

return 0;

}