En este artículo te enseñaré a abrir un archivo y adjuntarle contenido con C++. Es decir, crear el archivo si no existe, y en caso de que exista, agregarle el contenido.
De este modo vamos a añadir contenido a un archivo de C++ en lugar de sobrescribirlo.
Abriendo archivo
Para abrir un archivo en modo “adjuntar contenido” o en modo append, indicamos el openmode
en ios_base::app
que si vemos su definición dice: Seek to end before each write.
Que traduciéndolo no literalmente dice: apuntar al final antes de cada escritura.
Así que con esto vamos a adjuntar contenido a un archivo. Lo abrimos así:
ofstream archivo;
archivo.open(nombre.c_str(), ios_base::app);
Adjuntar contenido a archivo en C++
Una vez que ya hemos abierto el archivo en modo “append” ya podemos escribir en él, y cada que lo hagamos no vamos a sobrescribir su contenido.
Entonces el código queda así:
// https://parzibyte.me/blog
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char const *argv[])
{
string nombre = "nombres.txt";
ofstream archivo;
archivo.open(nombre.c_str(), ios_base::app);
archivo << "Soy una linea que se adjunta cada que se ejecuta este programa\n";
return 0;
}
Al compilarlo y ejecutarlo varias veces podemos ver que realmente el contenido se está agregando al final.

Por aquí te dejo más tutoriales de C++.