C ++在发生新的打印操作时清除文件

时间:2014-07-19 18:19:37

标签: c++ macos text netbeans file-io

我有一个C ++(在Mac OS X 10.9中制作Netbeans 8),简短地写入文件然后结束程序。这是我的程序的

#include <iostream>
#include <fstream>
#include <sstream>

ofstream outfile("NETBEANS_PMCL.txt");

    if(outfile.fail())
    {
        cout << "Cant open that file." << endl;
        return 0;
    }
    outfile << "name" << endl;
    outfile.close();

    return 0;

但每次我运行程序时,它都会重写在我上次运行程序时打印的name之上。 如何制作,以便如果第一行有内容,则跳过两行并打印,如果有内容则跳过两行并打印,依此类推。

1 个答案:

答案 0 :(得分:0)

问题是ofstream是写入文件,你想要的是阅读是否有内容,2个线路,以及写新内容。

std::fstream file("NETBEANS_PMCL.txt", std::fstream::in | std::fstream::out | std::fstream::app);

之后,您可以尝试阅读2行并写入内容。考虑函数成员getline来读取内容。

getline (char* s, streamsize n, char delim );