在C ++中,如何读取文本文件的内容,并将其放在另一个文本文件中?

时间:2014-02-13 19:28:55

标签: c++ file

我想阅读input.txt文件的内容并将其放在output.txt文件中,我尝试在下面的代码中执行此操作,但我没有成功,我是< strong> C ++ 文件操作,你能告诉我怎么做吗?

   #include <iostream>
   #include <fstream>
   #include <string>
   #include <vector>
     using namespace std;

    int main () {
     string line;
     std::vector<std::string> inputLines;
      ifstream myfile ("input.txt");
    if (myfile.is_open())
    {
       while ( getline (myfile,line) )
    {
         cout << line << '\n';
        inputLines.push_back(line);  
    }
     myfile.close();
    }

    else cout << "Unable to open file"; 

    ofstream myfile2 ("output.txt");
    if (myfile2.is_open())
    {
     for(unsigned int i = 0;i< inputLines.size();i++)

  myfile2 << inputLines[i];

      myfile2.close();
    }

    return 0;
     }

2 个答案:

答案 0 :(得分:3)

在您的代码中,您不存储输入行。首先,通过

定义字符串向量
std::vector<std::string> inputLines;

并使用

将每个输入行存储到列表中
inputLines.push_back(line)

然后通过使用

循环遍历向量的项目来将输入行写入输出
for(unsigned int i = 0;i < inputLines.size();i++)
 myfile2 << inputLines[i]

PS:你可能需要

#include <vector>

答案 1 :(得分:2)

您必须在myfile2 << line;循环中调用while