首页 > 解决方案 > C++ 将文本文件中的行写入新文件。复制预览行而不是当前行

问题描述

我有一个循环读取我的文本文件,当它找到与我的条件匹配时,我希望它将该行打印到一个新的文本文件中。我的代码有效,它只是打印预览行而不是当前行,并且它一直在文本文件的第一行上写入。

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++;
            }

标签: c++

解决方案


堆栈溢出的新手:D 但我发现我的答案是我所做的更改如此简单!

std::ofstream outFile("temp.txt", std::ios::app);

我只需要添加 ios::app。追加到文件的末尾。


推荐阅读