21xrx.com
2024-12-22 20:47:13 Sunday
登录
文章检索 我的文章 写文章
C++文件流的输入输出
2023-07-02 06:03:43 深夜i     --     --
C++ 文件流 输入 输出

C++作为一种流行且强大的编程语言,拥有很多方便的特性。其中一个最重要的特性就是文件流的输入输出。C++中文件流的输入输出非常简单,只需要使用标准库提供的fstream类就可以实现。下面将介绍如何使用C++文件流的输入输出功能。

一、打开文件

在C++中,文件必须先被打开才能够进行读/写操作。为此,C++提供了两个类用于打开一个文件,并使得文件与流相关联:ifstream用于从文件中读取数据,而ofstream用于向文件中写入数据。如果需要同时对一个文件进行读取和写入,则可以使用名为fstream的类。

要打开一个文件,可以使用成员函数open()。open()函数接收一个文件名作为参数,并根据参数提供的文件名打开相应的文件。例如,要打开一个名为“myfile.txt”的文本文件供读取,可以使用以下代码:

ifstream myFile("myfile.txt");

当然,您也可以使用open()函数来打开文件,如下所示:

myFile.open("myfile.txt");

相同的方法也适用于ofstream类和fstream类。

二、写入数据

通常,在需要把数据写入到一个文件中时,需要使用ofstream类。要写入数据,可以使用插入运算符<<。下面是一个向文件写入数据的例子:

ofstream myFile("myfile.txt");

myFile << "Hello, world!\n";

myFile.close();

此代码首先创建一个名为myFile的ofstream对象,并将其关联到名为“myfile.txt”的文件上。接下来,数据“Hello, world!”被写入文件中。最后,使用close()函数关闭文件。

三、读取数据

读取文件的数据通常使用ifstream类。要读取数据,可以使用提取运算符>>。下面是一个读取文件中数据的简单例子:

ifstream myFile("myfile.txt");

string line;

while (getline(myFile, line))

  cout << line << endl;

myFile.close();

以上代码将逐行读取名为“myfile.txt”的文本文件。使用getline()函数每次只读取一行,并将其存储在字符串变量line中。之后,将每行数据打印到标准输出中。

四、其他文件操作

除了打开、读取和写入外,fstream类还提供了其他有用的成员函数,例如:tellg()和seekg()用于定位输入流的位置;tellp()和seekp()用于定位输出流的位置等。

要定位输入流的位置,可以使用tellg()函数。例如:

ifstream myFile("myfile.txt");

myFile.seekg(0, ios::end);

int length = myFile.tellg();

myFile.seekg(0, ios::beg);

以上代码将计算myFile指向的文件的大小,并返回length的值。

要定位输出流的位置,可以使用tellp()函数。例如:

ofstream myFile("myfile.txt");

myFile.seekp(100, ios::beg);

myFile << "Hello";

myFile.close();

以上代码将在文件的100字节处写入字符串“Hello”。

总结

C++中的文件流输入输出操作简单而强大。通过使用C++的标准库中提供的fstream类以及相关的成员函数,可以轻松地打开文件、读取数据和写入数据。同时,fstream类还提供了其他的有用的成员函数,可以帮助定位流的位置,以进行更加高级的文件操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复