C++的简单文件操作

文件操作

1.1 流和文件流对象

文件是存放在计算机外存上的一组相关信息的集合。

C++采用“流”的概念来描述文件。接受数据的地方称为目标,发出数据的地方称为源。

为了能与文件交换数据,就需要与文件建立联系,流就是这种联系。处理文件前,必须先创建文件流对象,它与文件相关,通过文件流对象操作文件。

C++提供了文件输入流ifstream、文件输出流ofstream和文件输入输出流fstream。为了从文件中读取数据,需要创建一个与该文件关联的文件输入流对象。

Ifstream  inFile;   //创建一个输入文件流对象inFile

为了向文件中写数据,

ofstream  outFile;   //创建一个输出文件流对象outFile

fstream  ioFile;   //创建一个输入输出文件流对象ioFile

为了使用ifstream、ofstream和fstream文件源,必须包含fstream头文件。

2.1 打开文件

通过文件流对象的成员函数open来打开文件。

inFile.open(“example.txt”);  //打开一个名为example.txt的文本文件

(打开文件时,通常需要指定文件模式)

如:  inFile.open(“example.txt”);  等价于inFile.open(“example.txt”,ios :: in);

还可以在创建文件流对象时打开文件。

ifstreaminFile(“example.txt”);

如果文件不存在,则打开失败。

与ofstream文件输出流对象关联的文件;

outFile.open(“example.txt”);

等价于:outFile.open(“example.txt”,ios : : out|ios :: trunc);

如果文件不存在,则新建文件夹;如果文件夹存在,则清空文件原有内容。

默认情况下,文件都是以文本文件模式打开。打开二进制文件要显示指定二进制文件模式。

outFile.open(“example.dat”,ios: : binary);

2.2关闭文件

将文件流对象与外存上的文件脱离联系。

inFile.close( );//关闭文件

例子:


3.1文件输入输出

可以使用流插入运算符<<向文件中写入数据,也可以使用流提取运算符>>从文件中读取数据。

例子:


使用了流插入运算符<<;把内容写入与流对象outFile关联的文件中。


使用了流提取运算符>>;把与流对象outFile关联的文件中的内容读出。

字符输入输出

文件流对象成员函数get用于从文件中读取一个字符,文件流对象成员函数put用于向文件写入一个字符。

inFile.get(ch);//从inFie关联的文件中读取字符存放在ch中。

outFile.put(ch);  //将存放在ch中的字符写到outFile关联的文件中。

行输入输出

       getline函数用于从文件中读取一行字符;

stringline  //定义一个字符串来存放读入的内容

getline(inFile, line); //从文件中读取一行字符;

块输入输出

数据块是一组相关数据的集合。

文件流对象成员函数read用于从文件中读入数据块,文件流对象成员函数write用于向文件写入数据块。(read和write函数通常用于二进制文件)

inFile.read( 字符指针(读首地址),数据块大小sizeof());

outFile.write( 字符指针(存首地址),数据块大小sizeof());

注:对于非字符数据块,必须使用reinterpret_cast<char*>强制转化为字符指针。

猜你喜欢

转载自blog.csdn.net/lanyandong/article/details/78036306