我有一个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
之上。 如何制作,以便如果第一行有内容,则跳过两行并打印,如果有内容则跳过两行并打印,依此类推。
答案 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 );