我有一个循环读取我的文本文件,当它找到符合我条件的匹配项时,我希望它将该行打印到新的文本文件中。我的代码可以正常工作,只是打印预览行而不是当前行,并且可以覆盖文本文件的第一行。
void FileManager::copyLine(std::string newLine)
{
line1 = newLine;
std::ofstream outFile("temp.txt");
outFile << line1 << std::endl;
outFile.close();
}
if (p1.getPos() == "WR")
{
if (line2.getPosWR1().empty())
{
line2.setWR1_Pos(p1.getPos());
line2.setWR1_Name(p1.getName());
line2.setWR1_Salary(p1.getSal());
line2.setWR1_Projection(p1.getProj());
file1.copyLine(line);
wr1++;
}
else if (!line2.getPosWR1().empty() && line2.getPosWR2().empty())
{
line2.setWR2_Pos(p1.getPos());
line2.setWR2_Name(p1.getName());
line2.setWR2_Salary(p1.getSal());
line2.setWR2_Projection(p1.getProj());
file1.copyLine(line);
wr2++;
}
最佳答案
堆栈溢出新手:D但我找到了答案,这就是我所做的更改如此简单!
std::ofstream outFile("temp.txt", std::ios::app);
我只需要添加ios::app。追加到文件末尾。