Buenas, estoy tratando de hacer un programa que genere un archivo con la siguiente estructura:
XXXX<caracteres long long en binario>AAAA
Para estoy tratando de hacerlo con el siguiente programa:
#include<iostream>
#include<fstream>
#include<sstream>
using namespace std;
int main()
{
struct transaccion
{
string campo1;
long long campo2;
long long campo3;
string campo4;
};
ofstream file;
file.open("Base.txt",ios::binary);
struct transaccion trx;
trx.campo1="XXXX";
trx.campo2=1000;
trx.campo3=1000;
trx.campo4="AAAA";
file.write((char *)&trx, sizeof(trx));
file.close();
return 0;
}
El tema es que me queda todo binario :(. Alguna idea como hacerlo. Por favor necesito que me quede de esta manera, ya se que es al pedo hacer esto pero necesito que al abrirlo con el Notepad++ se vea como describo al principio.
Gracias
Saludos
para convertir los valores puedes usar itoa ( no es portable o puede implementar una ) luego simplemente vas añadiendo las cadenas y pasas el buffer final a la función de escribir.
Estuve leyendo lo de itoa y no me sirve, no me referia a que te queden con binarios de ASCII (1010101...), me referia a que los numeros te queden con caracteres binarios, por ejemplo el siguiente simbolo representa 6235512 (aproximadamente ese valor, luego averiguo cuanto exactamente era):
iÞi
Entonces deberia quedar algo asi:
XXXXiÞiAAAA