Les hago una consulta, estoy tratando de generar un archivo binario que tiene masomenos la siguiente estructura por cada registro
242 caracteres ascci 8 numeros (long long cada uno) 273 caracteres ascci e insertar un salto de linea.
Código:
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
/* Defino la estructura*/
struct tipoRegistro
{
char pri[242];
long long num1;
long long num2;
long long num3;
long long num4;
long long num5;
long long num6;
long long num7;
long long num8;
char ter[273];
};
int main()
{
tipoRegistro tran;
ofstream fsalida("TEMP", ios::out | ios::binary);
strcpy(tran.pri,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
tran.num1=0;
tran.num2=0;
tran.num3=0;
tran.num4=0;
tran.num5=0;
tran.num6=0;
tran.num7=0;
tran.num8=0;
strcpy(tran.ter,"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB");
cout << sizeof(tipoRegistro) << endl;
fsalida.write(reinterpret_cast<char *>(&tran), sizeof(tipoRegistro));
fsalida.close();
return 0;
}
Los porblemas son los siguientes
1) Como puedo poner el salto de linea? Siempre me sale todo seguido, y necesito el salto de linea porque asi lo va leer otra aplicacion. Asi como esta ahora genera un registro a continuacion del otro, y con '\n' no funciona.
2) Cuando abro el archivo con notepad, veo caracteres binarios al final del registro :S, no se de donde salen.
Muchas Gracias!
Saludos!