📌  相关文章
📜  C ++程序将一个文本文件的内容附加到另一个(1)

📅  最后修改于: 2023-12-03 15:13:45.791000             🧑  作者: Mango

C++程序将一个文本文件的内容附加到另一个

本文介绍如何使用C++语言将一个文本文件的内容附加到另一个。我们将讨论如何打开文件、读取文件内容、在文件末尾添加内容以及关闭文件等基本操作。

打开文件

要打开一个文件,我们需要使用C++标准库中的fstream类。该类的构造函数需要接收两个参数,第一个参数是文件名,第二个参数是打开文件的方式。

#include<fstream>
using namespace std;

int main()
{
  ofstream fout("output.txt", ios::app);
  ifstream fin("input.txt");
  
  // ...
  
  fin.close();
  fout.close();
  
  return 0;
}

在上面的代码中,我们使用了两个流对象,一个用于读取文件,一个用于写入文件。ofstream类用于写入文件,而ifstream类用于读取文件。我们使用ios::app方式打开输出文件,表示在文件末尾添加内容。其他打开方式包括ios::inios::out,分别表示输入和输出。当同时需要读取和写入文件时,可以使用ios::in | ios::out方式。

读取文件内容

我们可以使用getline函数逐行读取文件内容。该函数接收两个参数,第一个参数是输入流对象,第二个参数是用于存储读取内容的字符串对象。

string line;
while (getline(fin, line))
{
  // ...
}

在上面的代码中,我们使用while循环逐行读取输入文件的内容,并将每行内容存储在line字符串对象中。当getline函数返回false时,表示已经读取到文件末尾。

在文件末尾添加内容

我们可以使用ofstream对象的<<运算符将内容添加到输出文件的末尾。

string line;
while (getline(fin, line))
{
  fout << line << endl;
}

在上面的代码中,我们将每行读取到的内容使用<<运算符添加到输出文件的末尾,并使用endl表示添加一个换行符。

关闭文件

使用完文件后,我们需要关闭文件。可以使用close函数关闭文件。

fin.close();
fout.close();

在上面的代码中,我们分别关闭输入和输出文件。

完整代码

下面是将一个文本文件的内容附加到另一个的完整C++代码。假设我们需要将input.txt文件的内容附加到output.txt文件的末尾。

#include<fstream>
using namespace std;

int main()
{
  ofstream fout("output.txt", ios::app);
  ifstream fin("input.txt");
  
  string line;
  while (getline(fin, line))
  {
    fout << line << endl;
  }
  
  fin.close();
  fout.close();
  
  return 0;
}

以上就是使用C++语言将一个文本文件的内容附加到另一个的方法。