用C ++

时间:2015-08-06 20:22:32

标签: c++ file copy

我正在尝试将2个文件复制到1个文件中 ID1。 name1。 ID2。 name2。 但是我不能这样做......我应该如何复制每个文件中的每一行。

#include <iostream>
#include <fstream>
using namespace std;
int main()
{

 ifstream file1("ID.txt");
   ifstream file2("fullname.txt");
   ofstream file4("test.txt");
   string x,y;
  while (file1 >> x )
   {
       file4 <<  x <<" . ";
       while (file2 >> y)
       {
           file4 << y <<" . "<< endl;
       }
   } 


}

2 个答案:

答案 0 :(得分:6)

首先,逐行阅读。

ifstream file1("ID.txt");
string line;
ifstream file2("fulName.txt");
string line2;


while(getline(file1, line))
{
    if(getline(file2, line2))
    {
        //here combine your lines and write to new file
    }
}

答案 1 :(得分:0)

我只是将每个文件分别处理到他们自己的列表中。之后将列表的内容放入组合文件中。

ifstream file1("ID.txt");
ifstream file2("fullname.txt");
ofstream file4("test.txt");
std::list<string> x;
std::list<string> y;
string temp;

while(getline(file1, temp))
{
    x.add(temp);
}

while(getline(file2, temp))
{
    y.add(temp);
}

//Here I'm assuming files are the same size but you may have to do this some other way if that isn't the case
for (int i = 0; i < x.size; i++)
{
    file4 << x[i] << " . ";
    file4 << y[i] << " . ";
}