我想阅读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;
}
答案 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
。