Generar archivo en C++

Iniciado por Xedrox, 24 Diciembre 2012, 01:36 AM

0 Miembros y 1 Visitante están viendo este tema.

Xedrox

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


x64core

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.

Xedrox

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