Hola, gracias eferion. He visto que en la mayoría de lugares recomiendan copiar un archivo temporal y luego reemplazarlo.
Pero he encontrado esta librería "<experimental/filesystem>" y el método "resize_file", con los cuales he logrado mi cometido. Pero en el fondo supongo que harán algo parecido a copiar en un temporal y luego reemplazarlo.
Has utilizado está librería? qué conoces de ella? pues parece que hace parte de la std.
Código C++:
Ver original#include <iostream>;
#include <fstream>;
#include <string>;
#include <experimental/filesystem>;
using namespace std;
void path(string &s);
int main() {
string donde;
path(donde);
donde = donde + "texto.txt";
fstream file;
file.open(donde, fstream::ate | fstream::in | fstream::out); //ate es para empezar el cursor al fnial, es diferente de ::app
if (file.is_open()== false) {
cout << "Horror...";
return 0;
}
long pos = file.tellp();
experimental::filesystem::resize_file(donde, pos-4);
file.close();
//cin.get();
return 0;
}
Saludos,