Files and Streams
Append File Stream
Opening a file with std::ios::app adds new output to the end instead of replacing the file.
Append File Stream
append_file_stream.cpp
#include <cstdio>
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::string extraLine = ;
std::string filename = "append_log.txt";
std::ofstream start(filename);
start << "plan" << std::endl;
start << "build" << std::endl;
start.close();
std::ofstream append(filename, std::ios::app);
append << extraLine << std::endl;
append.close();
std::ifstream input(filename);
std::string line;
std::string last;
int count = 0;
while (std::getline(input, line)) {
++count;
last = line;
}
std::cout << "lines=" << count << std::endl;
std::cout << "last=" << last << std::endl;
std::remove(filename.c_str());
return 0;
}
#include <cstdio>
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::string extraLine = ;
std::string filename = "append_log.txt";
std::ofstream start(filename);
start << "plan" << std::endl;
start << "build" << std::endl;
start.close();
std::ofstream append(filename, std::ios::app);
append << extraLine << std::endl;
append.close();
std::ifstream input(filename);
std::string line;
std::string last;
int count = 0;
while (std::getline(input, line)) {
++count;
last = line;
}
std::cout << "lines=" << count << std::endl;
std::cout << "last=" << last << std::endl;
std::remove(filename.c_str());
return 0;
}
#include <cstdio>
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::string extraLine = ;
std::string filename = "append_log.txt";
std::ofstream start(filename);
start << "plan" << std::endl;
start << "build" << std::endl;
start.close();
std::ofstream append(filename, std::ios::app);
append << extraLine << std::endl;
append.close();
std::ifstream input(filename);
std::string line;
std::string last;
int count = 0;
while (std::getline(input, line)) {
++count;
last = line;
}
std::cout << "lines=" << count << std::endl;
std::cout << "last=" << last << std::endl;
std::remove(filename.c_str());
return 0;
}
append mode
Append mode preserves existing file contents and writes new data after them.