21xrx.com
2025-04-08 01:42:17 Tuesday
文章检索 我的文章 写文章
C++实现文本文件的连接
2023-07-05 00:14:09 深夜i     9     0
C++ programming language text file concatenation ofstream ifstream

在开发过程中,有时候需要将多个文本文件合并成一个文件。这时候就需要用到C++来实现文本文件的连接。文本文件连接可以通过文件流和字符数组来实现。

首先,我们需要定义文件流对象,一个读取源文件,一个写入目标文件。然后通过循环读取源文件,将读取的内容写入目标文件。循环过程中需要判断源文件是否读取完毕,如果没有读取完毕,则进行下一次循环读取。最后,关闭源文件和目标文件。

代码如下:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
  int fileCount = 2; // 要连接文件的数量
  string sources[] = "file1.txt"; // 源文件名列表
  string target = "output.txt"; // 目标文件名
  // 定义文件流对象
  fstream inStream, outStream;
  // 打开目标文件
  outStream.open(target, ios::out);
  // 依次读取源文件
  for (int i = 0; i < fileCount; i++)
  {
    // 打开源文件
    inStream.open(sources[i], ios::in);
    // 判断源文件是否打开成功
    if (!inStream)
    {
      cout << "无法打开源文件 " << sources[i] << endl;
      continue;
    }
    // 读取源文件内容并写入目标文件
    char buffer[1024] = {0};
    while (!inStream.eof())
    {
      inStream.getline(buffer, 1024);
      outStream << buffer << endl;
    }
    // 关闭源文件
    inStream.close();
  }
  // 关闭目标文件
  outStream.close();
  cout << "文件连接成功" << endl;
  return 0;
}

使用该代码,我们可以将两个文件file1.txt和file2.txt连接成一个文件output.txt。如果需要连接更多文件,只需要在sources数组中添加对应的文件名即可。

值得注意的是,在实现文本文件连接时需要特别注意源文件和目标文件的编码格式,避免出现乱码情况。如果源文件和目标文件编码格式不同,则需要进行相应的编码转换。

  
  

评论区

请求出错了